我遇到了jquery模态对话框。我的模态显示通过在按钮上单击两次并破坏页面上的标记 我读了没有包括堆栈溢出的帖子 this
AND this
但我的问题与两者都不匹配。所以我请求你不要对这个问题投反对票。
我使用以下代码来显示模态
<script type="text/javascript">
function overlayclickclose() {
if (closedialog) {
jQuery('#mydialog').dialog('close');
}
closedialog = 1;
}
jQuery('#mydialog').dialog({
bgiframe: true,
autoOpen: false,
modal: true,
width: 900,
height: 400,
resizable: false,
open: function() { closedialog = 1; jQuery(document).bind('click', overlayclickclose); },
focus: function() { closedialog = 1; },
close: function() { jQuery(document).unbind('click'); }
});
</script>
现在这里是我的div显示为弹出窗口
<div id="mydialog"><NL:TemplatePicker ID="TemplatePicker1" Runat="server"></NL:TemplatePicker></div>
我正在点击按钮调用模式,通过在asp.net代码中调用它,就像这样
protected void btnChooseTemplate_Click(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this.Page, Page.GetType(), "change", "jQuery('#mydialog').dialog('open');closedialog = 1;jQuery('#mydialog').parent().appendTo(jQuery('form:aspnetForm'));", true);
}
我的网页使用了ajax updatepanel。
任何帮助都会被视为。如果你需要更多的东西来更好地了解这个问题,请告诉我。
由于
答案 0 :(得分:1)
@Devjosh:看起来你正在btnChooseTemplate点击中注册打开的对话框。这意味着在第一次单击之后才会注册打开的脚本。尝试将客户端脚本块注册移动到页面加载功能中,以便每次加载页面时都会注册它,每次都为第一次单击做好准备。