更新进度无效。下面给出了代码,当我点击网格中的任何按钮(分页,过滤等)时,进度正常。但是当我点击图像按钮时,进度无效。< / p>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="upnlStockList"
DisplayAfter="0" DynamicLayout="true">
<ProgressTemplate>
<div class="PopupPanel">
<table style="vertical-align: middle; width: 100%; height: 900px">
<tr>
<td valign="middle" align="center">
<img id="Img1" src="~/Images/loading.gif" runat="server" />
</td>
</tr>
</table>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="upnlStockList" runat="server" ChildrenAsTriggers="true" UpdateMode="Always">
<ContentTemplate>
<grid></grid>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="imgPDF" />
<asp:PostBackTrigger ControlID="imgExcel" />
<asp:PostBackTrigger ControlID="imgCSV" />
</Triggers>
</asp:UpdatePanel>
protected void imgExcel_Click(object sender, ImageClickEventArgs e)
{
(initializing the report and assigning parameter).
ReportProcessor reportProcessor = new ReportProcessor();
RenderingResult result = reportProcessor.RenderReport(PDF, rptStockList, null);
string fileName = result.DocumentName + ".pdf";
Response.Clear();
Response.ContentType = result.MimeType;
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.Expires = -1;
Response.Buffer = true;
Response.AddHeader("Content-Disposition", string.Format("{0};FileName=\"{1}\"", "attachment", fileName));
Response.BinaryWrite(result.DocumentBytes);
Response.End();
}
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
母版页中的脚本管理器 通过单击图像按钮,我将报告下载为pdf。
答案 0 :(得分:1)
我认为问题是
<asp:PostBackTrigger ControlID="imgPDF" />
尝试使用AsyncPostbackTriggers。
查看MSDN
像我说的那样,它只适用于异步回发。UpdateProgress控件呈现显示或隐藏的元素,具体取决于关联的UpdatePanel控件是否导致异步回发。对于初始页面呈现和同步回发,不显示UpdateProgress控件。
遇到您遇到的文件下载问题。你应该阅读这个AJAX, file downloads, and IFRAMEs
答案 1 :(得分:1)
<asp:AsyncPostBackTrigger>
AsyncPostBackTrigger指定一个控件和事件,它将导致包含此触发器引用的UpdatePanel的部分页面更新。
<asp:PostBackTrigger>
PostBackTrigger指定将导致整页更新(整页刷新)的控件和事件。当控件以其他方式触发部分渲染时,此标记可用于强制完全刷新。
所以试着这样使用。
<asp:AsyncPostBackTrigger ControlID="imgPDF" />
<asp:AsyncPostBackTrigger ControlID="imgExcel" />
<asp:AsyncPostBackTrigger ControlID="imgCSV" />
希望这可能有帮助...