jquery - 在 jQuery 对话框中时,asp.net 表单控件不可读,如何修复它?

标签 jquery asp.net jquery-dialog

我身上有一根刺。我有一个 ASP.NET Web 表单页面。在页面中,我有一个 div 标签,我已将其设置为用作 jQuery 对话框。 div 中是一些 jQuery 控件。我打开对话框并单击其中一个按钮开始回发。当页面回发时,隐藏代码尚未读取控件中的值。当然,稍微深入研究一下 html 就会发现,该对话框将我的 div 移至 html 页面的底部,位于我的 asp.net 表单标记之外。乌尔克!

我该如何解决这个问题?

并不是说它真的对我的对话框代码有帮助,代码在这里:

 $("#dialog-copy").dialog({
        autoOpen: false,
        height: 200,
        width: 400,
        modal: true,
        resizable: false,
        buttons: {
            'Cancel': function () {
                $(this).dialog('close');
            },
            'Yes': function () {
                $(this).dialog('close');
                $("[id*=btnCopy]")[0].click();
            }
        },
        open: function () {
            $(":button:contains('Yes')").addClass("blue");
        }
    });
     $("[id*=btnCopy]").live('mousedown', function (e) {
        e.preventDefault();
        $("#dialog-copy").dialog('open');
     });

典型的 div 标签(移至表单标签之外)如下所示:

<div id="dialog-copy" style="DISPLAY: none" title="Copy Schedule">
    <p>Please enter a schedule number:</p>
    <asp:Textbox runat="server" id="txtSchNo"></asp:Textbox>
</div>

单击"is"会触发调用回发的按钮。

最佳答案

这是一个已知问题,您必须将其附加到这样的表单中,并且您的普通 .NET 控件可以回发:

    open: function () {
        $(this).parent().appendTo("form");
        $(":button:contains('Yes')").addClass("blue");
    }

更新 jQuery 的新版本:

   $('#yourDIv').dialog({
        .....,
        appendTo: $('form'),        
       ....

    });

关于jquery - 在 jQuery 对话框中时,asp.net 表单控件不可读,如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591601/

相关文章:

asp.net - 附加客户端证书时出现 Forbidden 403 错误

javascript - 获取打开jquery对话框的按钮的id

javascript - 在 SVG 中创建表格

jquery - 如何使用来自 json/jquery 的数据创建表?

ASP.NET 表单设计器和 DPI/em 问题

JQuery 动态对话框 Div

jquery - 如何将 CSS 应用于在 jQuery 对话框中打开的 HTML 页面?

javascript - 即使使用 e.preventDefault() 后也会提交表单

javascript - 我们如何知道弹出窗口 url 何时加载(window.open)?

asp.net - ListView 根据角色禁用插入和编辑按钮