我有一个按钮,它在服务器上生成一个PDF文件,然后将响应头信息设置到客户端以供下载文件。
我想在回发期间显示“Please Wait ...”消息,因为这可能是时间密集的。单击按钮时我可以显示一个没有问题的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");
});
答案 0 :(得分:2)
我对此完全一样:
$(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();
}
答案 1 :(得分:0)
尝试:
pageLoad = function()
{
$('#divLoading').hide();
};
修改强> 之所以我使用pageLoad而不是$(document).ready,是因为pageLoad将触发部分回发(UpdatePanels)。从您的代码看起来您正在进行完整的回发,但代码应该仍然有用。