【发布时间】:2011-04-09 12:39:26
【问题描述】:
我在显示文件列表的 UpdatePanel 中有一个 GridView。 GridView 中的一列是用于打开列出的 PDF 文件的按钮。
<asp:UpdatePanel runat="server" ID="upPurchaseOrder">
<ContentTemplate>
<asp:GridView ID="gvPurachaseOrder" runat="server" AutoGenerateColumns="False" DataSourceID="odsPurchaseOrders"
EnableModelValidation="True" DataKeyNames="PurchaseOrderID,PromotionID" onrowcreated="gvPurachaseOrder_RowCreated">
<Columns>
<%--BoundFields omitted--%>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="btnPurchaseOrderOpen" runat="server" Text="Open" CommandName="Open"
CommandArgument='<%# Eval("FilePath") %>' oncommand="btnPurchaseOrderOpen_Command" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
在 RowCreated 事件中,我将 btnPurchaseOrderOpen 注册为 PostBack 控件,因此它会导致完整的回发。
在按钮事件处理程序中,我使用 Response.TransmitFile 方法打开文件。
Response.Clear();
Response.ContentType = GetConentTypeForFile(fi.Extension);
Response.AddHeader("content-disposition", String.Format("attachment;filename={0}", fi.Name));
Response.TransmitFile(fi.FullName);
Response.End();
我的问题是文件打开后(正确打开)UpdatePanel 停止更新。我可以单击其他按钮,它们永远不会同步或异步回发。我感觉问题与响应有关,但我不知道如何解决。
【问题讨论】:
标签: asp.net updatepanel