1

listview 中的按钮,在对话框中打开,而不是触发按钮单击事件。以下是相关代码:

<div id="AssetsListView">

<asp:ListView ID="lstviewAssetAssign" runat="server">

<LayoutTemplate>

            <asp:Button ID="btnSaveAssetAssignFromListView" runat="server" Text="Save" OnClick="btnSaveAssetAssignFromListView_Click" />
            <asp:Button ID="btnClearCheckboxesFromListView" runat="server" Text="Clear" OnClick="btnClearCheckboxesFromListView_Click" />

</LayoutTemplate>

</asp:ListView>
</div>

我正在使用以下对话框在对话框中打开此 Listview:

$(document).ready(function () {

        $("#AssetsListView").dialog({
            autoOpen: false,
            show: "show",
            hide: "hide",
            modal: true,
            draggable: false,
            resizable: false,
            width: 750
        });

        $(".gridviewbutton").unbind("click");
        $(".gridviewbutton").bind("click", function () {
            $("#AssetsListView").dialog("open");
        });

这是事件处理程序声明:

protected void btnSaveAssetAssignFromListView_Click(object sender, EventArgs e)
    {
        // Some Code here            
    }

    protected void btnClearCheckboxesFromListView_Click(object sender, EventArgs e)
    {
        // Some code here
    }

我尝试在事件处理程序的开头添加断点,并且很确定事件不会在按钮单击时被触发。

一些帮助将不胜感激,谢谢。

4

1 回答 1

1

jQuery ui 对话框呈现在页面标签之外,因此不会触发任何服务器端事件。您需要在对话框打开时将其附加到表单元素。<form runat='server'></form>aspx

如果您使用的是 jQuery ui 版本 > 1.10.0,他们提供了一个appendTo选项

$( ".selector" ).dialog({ appendTo: "form" });

否则,

$('.selector').dialog({
      open:function(){{
         $(this).parent().appendTo($("form"));
     }}
});

In the above code, formrepresents the appropriate selector for the <form></form>element on your aspx page.

于 2013-07-16T09:33:09.800 回答