【问题标题】:Sys.WebForms.PageRequestManagerParserErrorExceptionSys.WebForms.PageRequestManagerParserErrorException
【发布时间】:2011-11-03 11:40:39
【问题描述】:

我正在为我的页面使用母版页。在此页面中,我在 updatepanel 中有 gridview 。我想将该 GridView 导出到 Excel。在执行此操作时,我遇到了这样的错误

Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器接收到的消息。此错误的常见原因是通过调用 Response.Write()、响应过滤器、HttpModules 或启用了服务器跟踪来修改响应。 详细信息:在 ' 附近解析错误

Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器接收到的消息。此错误的常见原因是通过调用 Response.Write()、响应过滤器、HttpModules 或启用了服务器跟踪来修改响应。

详细信息:在 ' 附近解析错误

尽管我添加了以下内容:

EnableEventValidation ="false"

<asp:AsyncPostBackTrigger ControlID="btn_export" EventName="Click" />

我的标记:

<%@ Page Language="C#" MasterPageFile="~/C2SFAMaster.master" AutoEventWireup="false"     EnableEventValidation ="false"   CodeFile="GDNReport.aspx.cs" Inherits="GDNReport" Title="Untitled Page" %>
<%@ Register Assembly="AjaxControlToolkit, Version=1.0.11119.21057, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
<table>
<tr>
<td>
<TABLE class="TableBgColor">
<TBODY>
<TR class="TableHDColor"><TD colSpan=6>Sample Dispatch Note Report</TD></TR>
<TR>
    <td>Select Fs</td>
    <td>
        <asp:DropDownList ID="cmb_fs" runat="server" Width="200px" AppendDataBoundItems="True" SkinID="DropDowns">
            <asp:ListItem Value="-99">--------------------ALL------------------</asp:ListItem>
        </asp:DropDownList></td>
    <td>DateFrom</td>
    <td>
        <asp:TextBox id="txt_frdate" runat="server" SkinID="Textboxs" />
        <cc1:CalendarExtender id="CalendarExtender1" runat="server" TargetControlID="txt_frdate" Format="d/MM/yyyy" />
    </td>
    <td>DateTo</td>
    <td>
        <asp:TextBox id="txt_todate" runat="server" SkinID="Textboxs" />
        <cc1:CalendarExtender id="CalendarExtender2" runat="server" TargetControlID="txt_todate" Format="d/MM/yyyy" />
    </td>
</TR></TABLE> 
</td>
</tr>
<tr>
    <td align ="center" >
        <asp:Button ID="btn_view" runat="server" Text="View" OnClick="btn_view_Click" OnClientClick="return viewcheck();" CssClass="Button" />
    </td>
</tr>
<tr>
<td align="center"> 
    <asp:UpdatePanel id="swpnl" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:GridView ID="gdview" runat="server" OnRowDataBound="gdview_RowDataBound"    OnRowCreated="gdview_RowCreated" style="position: relative" />
        </ContentTemplate>
        <triggers>
            <asp:AsyncPostBackTrigger ControlID="btn_view" EventName="Click">    </asp:AsyncPostBackTrigger>
            <asp:AsyncPostBackTrigger ControlID="btn_export" EventName="Click" />
        </triggers>
    </asp:UpdatePanel>
    <asp:Button ID="btn_export" runat="server" CssClass="Button" OnClick="btn_export_Click" Style="position: relative" Text="Export To Excel" />    
</td></tr>
</table>
</asp:Content>

【问题讨论】:

  • 有助于查看 btn_export_Click 背后的代码

标签: c# .net asp.net exception-handling


【解决方案1】:

我猜在updatepanel 请求中,您正试图将数据写入response stream

我认为这不会很好,因为它会尝试将write response 添加到update panel handler,这不会像您尝试向其写入文件,而不是我曾经尝试过所以它可能会起作用。

你最好使用普通的postback;或者如果它必须是async,则将redirect 发送给另一个写入文件的处理程序

【讨论】:

    猜你喜欢
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    相关资源
    最近更新 更多