我在页面中有更多partial views
呈现。
这是页面的外观:
我需要处理按钮创建发票
的onclick
事件
<div class="row">
<div class="button-bar col-md-2">
@Html.ActionLink(@Resources.Common.ShowInvoice, "EditLotDamage", "TimberMonitor", new { Id = 0, LotId = ViewBag.Id }, new { @class = "btn btn-success" })
</div>
<div class="button-bar col-md-2">
@Html.ActionLink(@Resources.Common.CreateInvoice, "EditLotDamage", "TimberMonitor", new { Id = 0, LotId = ViewBag.Id }, new { @id = "InvoiceDamageButton", @class = "btn btn-success", onclick = "validate" })
</div>
</div>
这些按钮位于partial view
上,名称为LotDamageButtonBarPartial
,它是从另一个部分视图呈现的,如下所示:
........
tabDamage.SetContent(() =>
{
if (ViewBag.CanModify)
{
Html.RenderPartial("LotDamageButtonBarPartial");
}
Html.RenderAction("LotDamageListPartial", new { LotId = ViewBag.Id });
});
........
我试图在主页面中处理这样的onclick事件:
$(document).ready(function () {
$('#InvoiceDamageButton').click(function ()
{
alert("test");
});
});
但它不起作用。你能建议吗?
答案 0 :(得分:0)
当您创建InvoiceDamageButton
按钮时,您还在此处为其定义了一个onclick处理程序:onclick = "validate"
。
我不知道validate()
的代码,但它可能正在停止event propagation,并且该事件永远不会触发您的jQuery函数。
检查是否有e.stopPropagation();
内部函数验证,如果有,则删除此行。另外,请检查validate()
是否正在返回false
,如果是,请更改它(要么不返回任何内容或返回true)。