在我的页面上,我得到以下用户控件:

<div class="editFormDialog" style="display: none; font-size: 12px;">
    <mm:Form ID="editUC" ShowCreateButton="false" ShowEditButton="true" runat="server" />
</div>

此UC具有一个公共(public)属性,该属性接受一个DataSet,并更新UC中的某些字段。

因此,当我按下页面上的按钮时,它将在UC上调用此属性,并且UC会使用来自DataSet的数据进行更新。

到现在为止还挺好。当我希望UC成为jQuery UI对话框时,就会出现问题。

首先,我创建对话框:
$(document).ready(function() {
    $('.editFormDialog').dialog({
        autoOpen: false,
        height: 700,
        width: 780,
        modal: true,
        bgiframe: true,
        title: 'Rediger',
        open: function(type, data) {
            $(this).parent().appendTo("form");
            $(this).css('display', 'block');
        }
    });
});

而且我不希望在按钮按下时打开它(这不是ASP.NET按钮,纯HTML):
$('#btnEdit').live('click', function() {
    $('.editFormDialog').dialog('open');
});

对话框打开,但是UC没有包含正确的数据。
页面加载后,将使用默认数据更新UC。然后,用户单击一个按钮,数据发生更改,但UC未被更新。它仍然包含默认数据。那就是问题所在。

你知道为什么吗

帮助将不胜感激!

最佳答案

确切地说,当您“调用属性”时会发生什么(我假设您的意思是这是一种方法)?该页面是否执行回发?如果是这种情况,当您将jQuery混合到场景中时,回发可能会被某种方式阻止?

10-08 14:40