处理部分视图按钮的onclick事件

时间:2018-04-27 11:32:08

标签: javascript

我在页面中有更多partial views呈现。 这是页面的外观: enter image description here

我需要处理按钮创建发票

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");
        });
});      

但它不起作用。你能建议吗?

1 个答案:

答案 0 :(得分:0)

当您创建InvoiceDamageButton按钮时,您还在此处为其定义了一个onclick处理程序:onclick = "validate"

我不知道validate()的代码,但它可能正在停止event propagation,并且该事件永远不会触发您的jQuery函数。

检查是否有e.stopPropagation();内部函数验证,如果有,则删除此行。另外,请检查validate()是否正在返回false,如果是,请更改它(要么不返回任何内容或返回true)。