gpt4 book ai didi

javascript - 从 asp.net 中的代码隐藏调用 jquery 函数不起作用

转载 作者:行者123 更新时间:2023-12-03 08:44:01 25 4
gpt4 key购买 nike

我有一个按钮点击事件

protected void btndwnReport_Click(object sender, EventArgs e)
{
try
{
save("Report1");
}
catch (Exception ex)
{
Log.Errlog("Error Occured in btndwnReport_Clickof UI_Report Page : " + ex.Message.ToString());
}
finally
{
Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "HideLoading", "HideLoading2();", true);//this function is not triggering
}
}

使用这个我试图使用reportviewer下载一个excel文件。单击此按钮后,我将显示一个加载图标(通过调用 ShowLoading2()),该图标被定义为 jquery 函数。

function ShowLoading2() {
try {
if (parent.document.getElementById('dvProgress'))
$("#dvProgress", parent.document).hide();
} catch (e) { }

$("#dvProgress").show();

}
function HideLoading2() {
try {
if (parent.document.getElementById('dvProgress'))
$("#dvProgress", parent.document).hide();
} catch (e) { }
$("#dvProgress").show();
$("#dvProgress").fadeOut(15000);

}

我可以下载 Excel 格式的报告,但下载 Excel 后无法从代码隐藏中调用 HideLoading2() 函数。

When save("Report1"); method is commented ,able to call HideLoading2().

这是保存方法

public void save(string ReportName)
{
Warning[] warnings;
string[] streamids;
string mimeType, encoding, extension, deviceInfo;
string format = "Excel"; byte[] bytes = null;
deviceInfo = "True";

bytes = rptViewer.ServerReport.Render("EXCEL", null, out mimeType, out encoding, out extension, out streamids, out warnings);

Response.Buffer = false; //transmitfile self buffers
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "GetReport/excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + ReportName + ".xls");
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.Close();
}

How can i call the HideLoading2() function after downloading the excel sheet?

注意:我没有在页面中使用 scriptmanager\updatepanel。

最佳答案

一旦调用文件下载所需的 Response.Flush() 和 Response.Close(),服务器就会停止处理并返回响应。之后您将无法选择执行代码。

一般下载文件时,尝试通过 JavaScript 异步调用该函数,并使用 window.open 打开文件。

关于javascript - 从 asp.net 中的代码隐藏调用 jquery 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32969881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com