C# 使用UpdatePanel从UserControl下载文件
我有一个定义如下的用户控件C# 使用UpdatePanel从UserControl下载文件,c#,asp.net,user-controls,C#,Asp.net,User Controls,我有一个定义如下的用户控件 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <table> <tr> <td> <asp:ImageButton ID="ImageButto
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table>
<tr>
<td>
<asp:ImageButton ID="ImageButton" runat="server" />
</td>
<td>
<asp:Label ID="lblHeader" runat="server" Text=""></asp:Label>
</td>
</tr>
</table>
<asp:Button runat="server" ID="saveLayoutBtn" Text="Save" OnClick="SaveBtn_Click"
ToolTip="Save current grid layout" />
<asp:Button ID="Home_ExportExcel" runat="server" Text="Export To Excel" OnClick="Home_ExportExcel_Click" Visible="false" />
<asp:PlaceHolder ID="placeHolder" runat="server"></asp:PlaceHolder>
<asp:Label ID="notificationLbl" runat="server" Text="" Font-Bold="true"></asp:Label>
<div id="DataGridWrapper">
<!--A Grid View tat displays Data-->
</div>
</ContentTemplate>
</asp:UpdatePanel>
我没有下载任何文件,而是在http响应中以xml格式获取网格数据。
如果我在.aspx页面上使用相同的代码,它工作正常,文件可以下载。
我发现等等,发现使用UpdatePanel可能是个问题。但我不确定我在这里遗漏了什么。要下载需要发回的文件,请尝试此项
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table>
<tr>
<td>
<asp:ImageButton ID="ImageButton" runat="server" />
</td>
<td>
<asp:Label ID="lblHeader" runat="server" Text=""></asp:Label>
</td>
</tr>
</table>
<asp:Button runat="server" ID="saveLayoutBtn" Text="Save" OnClick="SaveBtn_Click"
ToolTip="Save current grid layout" />
<asp:Button ID="Home_ExportExcel" runat="server" Text="Export To Excel" OnClick="Home_ExportExcel_Click" Visible="false" />
<asp:PlaceHolder ID="placeHolder" runat="server"></asp:PlaceHolder>
<asp:Label ID="notificationLbl" runat="server" Text="" Font-Bold="true"></asp:Label>
<div id="DataGridWrapper">
<!--A Grid View tat displays Data-->
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Home_ExportExcel" />
</Triggers>
</asp:UpdatePanel>
Ok..但是当我们在收到响应时单击导出按钮时,会立即发生回发..这与默认情况下的回发有何不同?更新面板实现异步回发,因此如果我们想要完整回发,我们需要显式创建回发触发器
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table>
<tr>
<td>
<asp:ImageButton ID="ImageButton" runat="server" />
</td>
<td>
<asp:Label ID="lblHeader" runat="server" Text=""></asp:Label>
</td>
</tr>
</table>
<asp:Button runat="server" ID="saveLayoutBtn" Text="Save" OnClick="SaveBtn_Click"
ToolTip="Save current grid layout" />
<asp:Button ID="Home_ExportExcel" runat="server" Text="Export To Excel" OnClick="Home_ExportExcel_Click" Visible="false" />
<asp:PlaceHolder ID="placeHolder" runat="server"></asp:PlaceHolder>
<asp:Label ID="notificationLbl" runat="server" Text="" Font-Bold="true"></asp:Label>
<div id="DataGridWrapper">
<!--A Grid View tat displays Data-->
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Home_ExportExcel" />
</Triggers>
</asp:UpdatePanel>