我有一个 ASP.NET 网站,它使用 jQuery 对话框向用户展示下载条款对话框。一旦用户同意对话框中的条款,我将执行服务器端回发,该回发向另一个网站上的页面发出 Response.Redirect 调用,该页面负责将下载提供给浏览器。问题是一旦调用了 Response.Redirect,就不能再显示对话框。
我使用以下代码在 document.ready 事件中初始化对话框:-
$("#terms-dialog").dialog({
modal: true,
autoOpen: false,
autoResize: false,
height: 420,
width: 500,
overlay: {
opacity: 0.5,
background: "black"
}
});
显示对话框的代码如下:-
function showTermsDialog(snippetid, title, agreement, url)
{
$("#terms-dialog-text").html(agreement);
$("#terms-dialog-controls").attr("style", "display: block;");
$("#<%= this.SnippetID.ClientID %>").attr("value", snippetid);
$("#<%= this.DownloadUrl.ClientID %>").attr("value", url);
$("#terms-dialog").data("title.dialog", title);
$("#terms-dialog").dialog("open");
}
此代码允许我多次成功显示对话框,但在 Response.Redirect 调用之后,对 dialog("open") 的调用不再有效。
有没有人做过类似于我在这里尝试做的事情?或者,如果有人可以提供任何 jQuery 对话框调试技巧,我们也将不胜感激。