列表视图中的按钮,在对话框中打开,而不是触发按钮单击事件

时间:2013-07-16 09:13:35

标签: jquery asp.net listview button

按钮内部列表视图,在对话框中打开,而不是触发按钮单击事件。以下是相关代码:

<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
    }

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

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

1 个答案:

答案 0 :(得分:1)

jQuery ui对话框在<{1>}页面的<form runat='server'></form>标记之外呈现,因此不会触发任何服务器端事件。当对话框打开时,您需要追加表单元素。

如果您使用的是jQuery ui版本&gt; aspx,他们提供了1.10.0选项

appendTo

否则,

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

在上面的代码中,$('.selector').dialog({ open:function(){{ $(this).parent().appendTo($("form")); }} }); 表示aspx页面上form元素的相应选择器。