当前位置 : 主页 > 网页制作 > JQuery >

在jQuery对话框中,asp.net表单控件是不可读的,你如何解决它?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有一个多刺的.我有一个asp.net网页表单页面.在页面中,我有一个div标签,我已将其设置为用作jQuery对话框.在div中有一些jQuery控件.我打开对话框,然后点击其中一个按钮开始回发.当页面回
我有一个多刺的.我有一个asp.net网页表单页面.在页面中,我有一个div标签,我已将其设置为用作jQuery对话框.在div中有一些jQuery控件.我打开对话框,然后点击其中一个按钮开始回发.当页面回发时,代码隐藏还没有读取控件中的值.当然对html的一点点深入研究表明,对话框占用了我的div并将其移动到html页面的底部OUTSIDE我的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>

单击“是”将触发调用回发的按钮.

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

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

更新版本的jQuery更新:

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

    });
网友评论