0Day Forums
Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - Printable Version

+- 0Day Forums (https://0day.red)
+-- Forum: Coding (https://0day.red/Forum-Coding)
+--- Forum: Asp.Net (https://0day.red/Forum-Asp-Net)
+--- Thread: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed (/Thread-Sys-WebForms-PageRequestManagerParserErrorException-The-message-received-from-the-server-could-not-be-parsed)

Pages: 1 2


Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - lena405690 - 07-23-2023

I have a grid view on my page and I want to export it to the Excel Sheet,
Below is the code I had written to do this task, here I am already passing the dataset to the method to bind the grid and `btnExcelExport` is the button which will export the Grid Content in to Excel Sheet :-

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;
}

Now when I am debugging I found that the grid is binded sucessfully but when trying to export it to Excel, I'm getting this error:

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




RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - Mrbrand6 - 07-23-2023

I fixed this issue. As I'm using `UpdatePanel`, I added below code in the `Page_Load` event of the page and it worked for me:

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


RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - dyestuffs685795 - 07-23-2023

I had the same error, then I tried **`<asp:PostBackTrigger ControlID="xyz"/>`** instead of **AsyncPostBackTrigger** .This worked for me. It is because we don't want a partial postback.


RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - nonstandardized559997 - 07-23-2023

1- **Never** use Response.Write.

2- I put the code below after create (not in Page_Load) a LinkButton (dynamically) and solved my problem:


ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(lblbtndoc1);


RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - albie319 - 07-23-2023

In my case, the problem was caused by some **Response.Write** commands at **Master Page** of the website (code behind). They were there only for debugging purposes (that's not the best way, I know)...


RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - accroides161856 - 07-23-2023

Add this to you PageLoad and it will solve your problem:

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(this.lblbtndoc1);


RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - Sirmancini2 - 07-23-2023

[This][1] worked for me too, but with an addition (below).

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

I was registering a script on my button to click on another button after its event was finished processing. In order for it to work, I had to remove the other button from the Update Panel (just in case somebody faces the same problem).


[1]:

[To see links please register here]




RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - Sirjasminbyus - 07-23-2023

I added the control to the `Triggers` tag in the update panel:

</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="exportLinkButton" />
</Triggers>
</asp:UpdatePanel>

This way the exportLinkButton will trigger the UpdatePanel to update.
More info [here][1].


[1]:

[To see links please register here]




RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - pablouarwflm - 07-23-2023

For my VB.Net Friends -

Dim scriptManager As ScriptManager = scriptManager.GetCurrent(Me.Page)
scriptManager.RegisterPostBackControl(Me.YourButtonNameHere)


RE: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed - wot122 - 07-23-2023

What worked for me was setting aspnet:MaxHttpCollectionKeys to a high value on appSettings tag on the inetpub VirtualDirectories\443\web.config file:

<configuration>
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="100000" />
</appSettings>
</configuration>