我正在为我的页面使用母版页。在这个页面我有更新面板内的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>
答案 0 :(得分:0)
我猜你在updatepanel
请求中尝试将数据写入response stream
。
我认为这不会很有效,因为它会尝试向write response
添加update panel handler
,这不会让您尝试将文件写入其中,而不是我曾经尝试过它可能有用。
你最好用普通的postback
来做这件事。或者如果必须async
将redirect
发送给另一个写入文件的处理程序