Thursday, February 7, 2013

How to fix error "Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. "

the application worked well when it was run in the .net framework 3.5 and asp.net 2.0 environment.

today i upgrade the application to

"Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: Error parsing near ' "




the root cause of this issue is that UpdatePanel control will cuase the conflict with asp.net 4.5 synchronization.

AssociatedUpdatePanelID="UpdatePanel1"
                runat="server">
                <ProgressTemplate>
                    <%--<img alt="progress" src="images/loading.gif" />
           Processing...           --%>
                    <div id="progressBackgroundFilter"></div>
                    <div id="processMessage">
                        <img alt="Loading" src="images/loading.gif" />updating......
                    </div>
                </ProgressTemplate>
            </asp:UpdateProgress>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
              

I had to specific which control had trigger the update and cause the error inside the update control panel to fix the issue. 

               <Triggers>
                    <asp:PostBackTrigger ControlID="lnkBtnSave" />
               </Triggers>

AssociatedUpdatePanelID="UpdatePanel1"
                runat="server">
                <ProgressTemplate>
                    <%--<img alt="progress" src="images/loading.gif" />
           Processing...           --%>
                    <div id="progressBackgroundFilter"></div>
                    <div id="processMessage">
                        <img alt="Loading" src="images/loading.gif" />updating......
                    </div>
                </ProgressTemplate>
            </asp:UpdateProgress>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <Triggers>
                    <asp:PostBackTrigger ControlID="lnkBtnSave" />
               </Triggers>
              <ContentTemplate>
                </ContentTemplate>
            </asp:UpdatePanel>