我有一个常用的jQuery对话框div,其中包含一个包装在updatepanel中的数据输入用户控件。它看起来很棒,直到第一次回发。在此之后,根本不应用任何样式。(控件保留其值,事件继续按预期运行。)关闭对话框后,如果存在回发,则后续的.dialog("open")调用不会应用任何样式。
$(function () {
var dlg = jQuery("#EventMod").dialog({
autoOpen: false
, modal: true
});
dlg.parent().appendTo(jQuery("form:first"));
$(".NewEvent").click(function () {
$("#EventMod").dialog("open");
return false;
});
});对话框div在这里:
<div id="EventMod" title="Event Modify" class="ui-helper-hidden">
<asp:UpdatePanel ID="updNewEvent" runat="server">
<ContentTemplate>
<uc1:EventEdit ID="NewEvent" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>在用户控件中,类不是动态分配的,它们看起来像这样:
<table class="NewEvent" >
<tr>
<td align="center">
<table class="Event">
<tr class="Title">
<th width="55">
<strong>Event #</strong>
</th>
... snip ...我在父页面中链接了样式表。我也尝试将其添加到用户控件中,但没有可见的结果。
发布于 2011-11-10 02:58:11
我以前遇到过这样的怪事,为了在UpdatePanel中获得稳定的结果,我不得不这样做
$(function () {
var titleText="This is the title"
var key = "uniqueId";
var newParentDiv= "#" + key;
var div = $("<div title='" + titleText + "' id='" + key+ "'></div>");
$('body').append(div);
$(newParentDiv).html($("#EventMod").html());
var dlg = jQuery(newParentDiv).dialog({
autoOpen: false
, modal: true
});
dlg.parent().appendTo(jQuery("form:first"));
$(".NewEvent").click(function () {
$(newParentDiv).dialog("open");
return false;
});
});对我来说,问题在于jQuery对话框实际上将内容移动到DOM中的新位置。如果发生了不能更新jQuery UI放置对话框的DOM的部分回发,它就会变得陈旧或挂起。
https://stackoverflow.com/questions/8069794
复制相似问题