我有一个动态创建的表的UpdatePanel,我试图将保存流用作EPPlus的excel函数。但是,当我调用SaveToExcel()
方法时,我一直收到错误。
如果我在空网站中使用该方法,该方法可以正常工作,所以我认为它与回发/ UpdatePanel有关。
错误:
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed.
导致[dynamic]的错误的代码:
function Sys$WebForms$PageRequestManager$_endPostBack(error, executor, data) {
if (this._request === executor.get_webRequest()) {
this._processingRequest = false;
this._additionalInput = null;
this._request = null;
}
var handler = this._get_eventHandlerList().getHandler("endRequest");
var errorHandled = false;
if (handler) {
var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
handler(this, eventArgs);
errorHandled = eventArgs.get_errorHandled();
}
if (error && !errorHandled) {
throw error;
}
}
这就是我结束SaveToExcel()
方法的方式:
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=Bulk Swap HDDs.xlsx");
package.SaveAs(Response.OutputStream);
Response.End();
有什么东西真的很明显我不见了吗?如果我将SaveToExcel
放入另一个aspx页面并执行PostBackUrl="~/SaveToExcel.aspx"
,它也可以正常工作(但我的提交按钮会崩溃)。