我在更新面板中有一个按钮,它创建一个报告,报告作为页面响应给出。当我没有更新面板时,生成并下载了报告,但现在当我引入更新面板时,报告已生成但我没有在浏览器中获取该报告。我该怎么办。
using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
{
writer.Write(success);
writer.Write(error);
writer.Write(warning);
Response.Write(stringWriter.ToString());
}
Response.End();
我正在使用更新面板来使用更新进度。
response.end()
Get the system.web.httpresponse object associated with the system.web.ui.page object.
This object allows you to send HTTP response data to client and
contains information about the response
这意味着什么
更新
<asp:UpdateProgress ID="UpdateProgress2" runat="server">
<ProgressTemplate>
<div style="width: 338px; position: relative; top: -420px; left: 80px" class="">
<b>Please Wait...</b>
<img runat="server" id="ajaxLoader" style="background-color: White; width: 338px;"
src="styles/images/loadImage.gif" alt="loading" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btn_upload" CssClass="UploadBtncss" runat="server" Text="Upload"
OnClick="upload_Click" />
答案 0 :(得分:3)
尝试使用Trigger进行回发触发
<Triggers> <asp:PostBackTrigger ControlID=”btn1” />
</Triggers>
答案 1 :(得分:3)
简单地说,你不能在UpdatePanel中使用Response.Write(和许多其他Response方法)。有解决方法,但它主要取决于更新面板使用的部分更新的性质。它与Response.Write的效果不太好。
如果你谷歌它你会找到替代品(例如将Response.Write移出UpdatePanel或使用PostBackTrigger)
这个页面似乎给出了一个合理的解释: http://www.jnouel.net/post/2009/07/06/ResponseWrite-and-UpdatePanel.aspx