我有一个 ASP.NET (webforms) 页面,通过单击按钮将 MS-Excel 呈现回响应流。一切都在测试中完美运行,但在实时部署中,在浏览器似乎正在尝试下载文件后,我得到了这个对话框: 其中 ReportsShow.aspx 是生成和呈现 excel 的 aspx 页面的名称。触发下载的按钮会触发回发,所以我很困惑为什么页面在加载时正确呈现时找不到?我一无所知,任何帮助将不胜感激
编辑:根据 Mayank 的要求,这是代码结构:
// Get instance of reporting service
IReportingService reportingServiceClient = Reports.GetWebService();
// Get a fresh copy of the report
BusinessReport theReport = reportingServiceClient.GetReport(AcctList.ToArray());
ExcelExport excelExport = new ExcelExport();
const string templateFileName = "Business-Report.xls";
string newFileName = String.Empty;
try
{
newFileName = excelExport.CopyTemplateFile(Server.MapPath("~/ExportTemplates/" + templateFileName));
excelExport.WriteData(forexOptionReport, newFileName);
Response.Clear();
Response.AddHeader("content-disposition", string.Format("Attachment; filename=\"{0}\"", "Business-Report" + ".xls"));
Response.ContentType = "application/vnd.ms-excel";
Response.TransmitFile(newFileName);
Response.Flush();
}
catch (Exception ex)
{
Errors.LogException("Error in Reports.BtnDownloadToExcel_Click", ex);
throw;
}
finally
{
if (!String.IsNullOrEmpty(newFileName))
{
excelExport.DeleteFile(newFileName);
}
}
更多信息
我已经用提琴手分析了这个,这就是我看到的特定请求/响应,预计将呈现 excel 以供下载:
这个 Stackoverflow Q/A声明禁止图标的含义是客户端正在终止/中止响应