我正在重写一个现有的应用程序,我用jQuery替换了很多Ajax控件工具包。 我在jQuery对话框中遇到了一个奇怪的问题: 该对话框打开正常,但是当我单击关闭按钮并希望离开页面时,它会抛出此错误。
代码说明
单击按钮时会打开对话框。在对话框中加载了一个aspx页面。此页面还包含一些用于显示错误消息的jQuery内容以及用户输入错误数据时的对话框。
这段代码初始化并显示第一个(外部)对话框:
function ShowDistributionDialog() {
//Create the Add Distribution dialog
$(dialogControl).dialog({
title: 'Add/Edit Distributions',
autoOpen: false,
modal: true,
closeOnEscape: false,
draggable: false,
resizable: false,
width: 600,
height: 475
});
//Load the Distribution page into the dialog
$(dialogControl).load('./DistributionJQ.aspx?RID=' + rid + '&DistributionNr=' + distributionID);
//Open the dialog
$(dialogControl).dialog('open');
}
在DistributionJQ.aspx页面中,有一个常规按钮来添加分发。这会触发回发,因此可以将此页面中填充的数据保存到数据库中。我可以再次打开对话框,没有任何问题。 当我单击链接按钮(托管在页面中其他位置的用户控件中)以返回到应用程序的主页时,会弹出此错误。 当我在网页错误对话框中单击否时,将显示DistributionJQ.aspx(最初在对话框中托管)页面。
修改
LinkButton的标记如下:
<ASP:LINKBUTTON cssclass="Label hand" onclientclick="PleaseWait();" font-underline="True" font-size="10" runat="server" id="LinkButtonUserName" causesvalidation="false"></ASP:LINKBUTTON>
我发现在onclientclick方法PleaseWait中发生了错误。所以我把它拿出来了。当我现在点击链接按钮时,它会显示DistributionJQ.aspx页面。这一切都发生在客户端!!在服务器上的onclick方法是response.redirect,但它不会被触发!
我无法解释这里发生了什么。 任何帮助将不胜感激。