我在这里有一个非常奇怪的行为:我在jqueryui中创建了一个小弹出对话框,在我的测试HTML页面中,它可以完美地工作。当我点击按钮时,弹出窗口出现,覆盖背景,并保持在屏幕上,直到我点击提供的两个按钮之一(确定或取消)。
所以现在我想把它添加到我的ASP.NET3.5应用程序中。我想将它添加到用户控件(ASCX)中的GridView中,该控件位于母版页中包含的页面(ASPX)上。
母版页上引用了jQuery 1.4.2和jQuery UI 1.8.1脚本:
<body>
<form id="XXXXXX" runat="server">
<Ajax:ScriptManager ID="masterScriptManager" runat="server" ScriptMode="Auto">
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery-1.4.2.min.js" />
<asp:ScriptReference Path="~/Scripts/jquery-ui-1.8.1.custom.min.js" />
</Scripts>
</Ajax:ScriptManager>
因此,在我的gridview中,我有一个带有图像按钮的列,当用户单击这些按钮时,我调用一个小javascript函数来显示jQuery UI对话框:
function showDialog()
{
$("#dlg-discount").dialog('open');
$("#txtAmount").focus();
}
在这两种情况下,对话框页面/弹出窗口在一秒钟或更短的时间后再次消失-我没有点击任何东西!
它似乎与
this question
但在我的情况下,提供的解决方案不起作用。
This one here
关于这里发生的事情有什么想法/提示/提示吗??
更新:
好了,有一个问题解决了——不管出于什么原因,默认的MS Ajax东西都是在我的弹出对话框中添加某种“观察者”,并在它出现后立即关闭它:-(
OnClientClick="showDialog();"
到
OnClientClick="showDialog(); return false;"
这样就不会再发生了——对话框会弹出,直到我点击两个按钮中的任何一个(
OK
和
Cancel