ASP.NET GridView Response.BinaryWrite () при изменении строки - PullRequest
1 голос
/ 05 февраля 2009

У меня есть сетка внутри панели обновлений, и я хотел бы позволить пользователю выбрать строку, которая будет генерировать вызов класса, который выводит поток обратно клиенту. Похоже, я не могу этого сделать, потому что сетка находится внутри панели обновления. Есть идеи?

C #

    protected void gvResults_SelectedIndexChanged(object sender, EventArgs e)
    {
        RMATagsReport rpt = new RMATagsReport();
        rpt.GenerateReport();
    }

ASP.NET

<asp:UpdatePanel ID="upResults" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
<ContentTemplate>
    <asp:GridView ID="gvResults" runat="server" AutoGenerateColumns="False" CellPadding="4"
        ForeColor="#333333" OnSelectedIndexChanged="gvResults_SelectedIndexChanged" Width="100%">
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <Columns>
            <asp:BoundField DataField="CSTNO" HeaderText="DEALER" />
            <asp:BoundField DataField="ORDNO" HeaderText="RMA NUMBER" />
            <asp:BoundField DataField="CSTORD" HeaderText="DEALER PO NUMBER" />
            <asp:BoundField DataField="ORDDTE" HeaderText="ORDER DATE" />
            <asp:BoundField DataField="INVDTE" HeaderText="INVOICE DATE" HtmlEncode="false" />
            <asp:CommandField SelectText="Print RMA" ShowSelectButton="True" />
        </Columns>
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#3494CC" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
        <EditRowStyle BackColor="#999999" />
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <EmptyDataTemplate>
            <span style="color: Red;">No RMA Tags Found With Specified Criteria. </span>
        </EmptyDataTemplate>
    </asp:GridView>
    <div id="LoadingDiv" style="display: none; text-align: center;">
        <img src="Graphics/Icons/loading_lg.gif" />
    </div>
    <div id="ResultsDiv">
    </div>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" />
</Triggers>

1 Ответ

2 голосов
/ 17 февраля 2009

Сейчас я делаю response.redirect для изменения индекса с новой страницей, обрабатывающей генерацию отчета ... Кажется, это работает нормально.

EDIT
Хотя это, кажется, работает, я все еще открыт для других возможностей, так как я не хочу иметь страницу, единственной целью которой является вывод этого документа.

...