我有一个按钮,它在服务器上生成 PDF 文件,然后将响应 header 信息设置到客户端以下载该文件。
我想在回发期间显示“请稍候...”消息,因为这可能会很耗时。单击按钮时我可以毫无问题地显示 div,但当服务器返回信息时我无法隐藏此 div。
下面是我的服务器端代码:
Response.Buffer = true;
Response.Charset = "";
Response.AddHeader("content-disposition", "attachment; filename=" + Casefile.SerialCode + ".ppt");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(binaryData);
Response.Flush();
Response.End();
我尝试了以下 Jquery 来隐藏我的 Div,但它永远不会被调用...
$(document).onLoad(function ()
{
$('#divLoading').css("display", "none");
});
最佳答案
我用这个做了完全相同的事情:
$(document).ready(function () {
$('#inProgress').hide();
});
编辑 您可以尝试在服务器端使用 clientscriptmanager。
ClientScriptManager.RegisterStartupScript(this.GetType(), "HideDiv", "$('#inProgress').hide();", true)
或者你可以尝试类似的方法:(在你的 JavaScript 中)
Sys.Application.add_init(appl_init);
function appl_init() {
var pgRegMgr = Sys.WebForms.PageRequestManager.getInstance();
pgRegMgr.add_endRequest(EndHandler);
}
function EndHandler() {
$('#inProgress').hide();
}
关于jquery - ASP.Net/Jquery 在 Response.End() 之后查找客户端事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9296322/