全部,
我有一个 UpdatePanel 正在发出几个长期运行的请求来收集大量数据。有时需要长达 90 秒才能返回。
第一个请求返回呈现为文档链接的数据。单击链接会打开一个新的浏览器窗口,并且 URL 有一个查询字符串,告诉系统要打开哪个文档。
这是为客户端呈现链接时的代码片段:
HtmlAnchor alink = new HtmlAnchor();
alink.HRef = "javascript:openDocument('"+ item.Url +"')"; //item.Url;
// here is the JS on the client page
function openDocument(path) {
window.open(path);
}
因此,当用户单击链接时,弹出窗口会打开。问题是它会一直等到 UpdatePanel 完成其请求,然后弹出窗口才会发送其请求。
我可以从弹出窗口中复制 url,打开一个新浏览器,然后将 URL 粘贴到新浏览器中,它会按预期打开文档。
这让我相信 UpdatePanel 以某种方式阻止了弹出窗口的请求。我不想让用户等到 UpdatePanel 的 AJAX 请求完成后,用户才能从第一个结果中打开文档。
我该如何解决这个阻塞?我尝试在 UpdatePanel 的 ContentArea 之外创建按钮并模拟点击,但也没有类似的效果。
有人对此有任何想法吗?
提前致谢!