【问题标题】:Automatically close JqueryDialog自动关闭 Jquery 对话框
【发布时间】:2011-03-18 10:01:58
【问题描述】:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  
    onselectedindexchanged="GridView1_SelectedIndexChanged" 
    onselectedindexchanging="GridView1_SelectedIndexChanging">
    <Columns>
        <asp:CommandField HeaderText="Show" SelectText="ShowMessage" 
            ShowSelectButton="True" />
    </Columns>
 </asp:GridView>

<div id="content"><div>

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{   
        string html = "";
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            html += "<div style='display:none' id='" + i + "'>" + GridView1.Rows[i].Cells[3].Text + "</div>";
            GridView1.Rows[i].Cells[0].Attributes.Add("onclick", "$('#" + i + "').dialog()");
        }
        content.InnerHtml = html;  
}

显示对话框 onclick 单元格[0] 并自动关闭对话框?为什么?

【问题讨论】:

    标签: jquery asp.net jquery-ui jqgrid


    【解决方案1】:

    我的 WebForms 有点生锈,但如果每次更改到另一行时都会调用 GridView1_SelectedIndexChanging,则代码每次都会重新创建对话框位。这可能就是它消失的原因。

    【讨论】:

      【解决方案2】:

      当您在网格中选择另一行时,需要触发服务器上的 GridView1_SelectedIndexChanging 事件,因为需要发生完整的 PostBack 才能获取更改的数据。

      每当出现PostBack 时,您使用 JavaScript 完成的所有操作都将消失,需要在再次加载页面时再次初始化。

      PostBack 视为对服务器的新页面请求。

      您可以考虑使用 ASP.NET AJAX 并将您的 DataGrid 放在 UpdatePanel 中以避免整页 PostBack 但只有 DataGrid 部分。

      【讨论】:

        猜你喜欢
        • 2013-07-26
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多