Sys.WebForms.PageRequestManagerParserErrorException - PullRequest
1 голос
/ 25 августа 2011

Я использую главную страницу для своей страницы.На этой странице у меня есть gridview внутри updatepanel.Я хочу экспортировать этот GridView в Excel.при этом я получаю сообщение об ошибке:

Sys.WebForms.PageRequestManagerParserErrorException: сообщение, полученное с сервера, не может быть проанализировано.Распространенными причинами этой ошибки являются изменения ответа путем вызова Response.Write (), фильтров ответа, HttpModules или трассировки сервера.Подробности: Ошибка разбора около '

Sys.WebForms.PageRequestManagerParserErrorException: Сообщение, полученное с сервера, не может быть проанализировано.Распространенные причины этой ошибки: изменение ответа при вызове Response.Write (), фильтры ответов, HttpModules или трассировка сервера.

Подробности: синтаксический анализ ошибки рядом с '

eventhoughя добавил следующее:

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>

1 Ответ

0 голосов
/ 26 августа 2011

Я предполагаю, что в запросе updatepanel вы пытаетесь записать данные в response stream.

Я не думаю, что это будет работать очень хорошо, так как будет пытаться добавитьwrite response до update panel handler, который не понравится вам, когда вы пытаетесь записать в него файл, не то, что я когда-либо пробовал, чтобы он мог работать.

Вам лучше делать это с обычным postback;или, если это должно быть async, отправьте им redirect другому обработчику, который записывает файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...