c# - Sys.WebForms.PageRequestManagerParserErrorException : The message received from the server could not be parsed

标签 c# asp.net

我的页面上有一个 GridView ,我想将它导出到 Excel 工作表, 下面是我为完成此任务而编写的代码,这里我已经将数据集传递给绑定(bind)网格的方法,btnExcelExport 是将网格内容导出到 Excel 工作表的按钮:-

private void BindGridView(DataSet ds)
{
    if (ds.Tables.Count > 0)
    {
        if (ds.Tables[0].Rows.Count > 0)
        {
            GVUserReport.DataSource = ds;
            GVUserReport.DataBind();
            btnExcelExport.Visible = true;
        }
    }
}

protected void btnExcelExport_Click(object sender, EventArgs e)
{
    Response.Clear();
    Response.AddHeader("content-disposition","attachment;filename=FileName.xls");
    Response.Charset = "";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    GVUserReport.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
    return;
}

现在,当我调试时,我发现网格已成功绑定(bind),但在尝试将其导出到 Excel 时,出现此错误:

"Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed."

最佳答案

我解决了这个问题。当我使用 UpdatePanel 时,我在页面的 Page_Load 事件中添加了以下代码,它对我有用:

protected void Page_Load(object sender, EventArgs e) {
  ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
  scriptManager.RegisterPostBackControl(this.btnExcelExport);
  //Further code goes here....
}

关于c# - Sys.WebForms.PageRequestManagerParserErrorException : The message received from the server could not be parsed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11221033/

相关文章:

C# 语言规范 "Program Instantiation"似乎被错误识别

c# - InternalsVisibleTo - 如何防止某人创建具有相同名称的程序集并访问内部类或方法?

asp.net - 两种类型的 asp.net 核心 Web 应用程序?

c# - DAL 中的 Linq2Sql 静态数据上下文

asp.net - 无法使用UrlHelper

c# - 如何从 C# 代码调用 javascript?

c# - 消息框变量

c# - 区分大小写的字典键

c# - C# 5.0异步中的awaitable和awaiter

javascript - 在 asp.net 中,文本区域在内容之前有空格