asp.net – 更新面板PostBackTrigger,更新进度不显示
|
我有一个更新面板,并使用PostBackTrigger事件更新进度.但是当我点击按钮时,没有显示更新进度.请找到以下示例代码
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="updatepanelDropDownTaskType" CssClass="Token-setup-popup" DynamicLayout="true">
<ProgressTemplate>
<div id="loading" class="loading">
<asp:Image runat="server" ID="imgBusyIndicator" ImageUrl="~/images/busy-indicator.gif" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="updatepanelDropDownTaskType" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:PostBackTrigger ControlID="btnExport" />
</Triggers>
<ContentTemplate>
<asp:Button ID="btnExport" runat="server" Text="Export To CSV" CssClass="button" CausesValidation="true" onclick="btnExport_Click" ClientIDMode="Static"/></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
我的代码背后 HttpResponse Response = System.Web.HttpContext.Current.Response;
Response.ClearHeaders();
Response.AppendHeader("Content-Disposition","attachment; filename=" + FileName);
Response.ContentType = FileType;
Response.Write(content);
HttpContext.Current.ApplicationInstance.CompleteRequest();
解决方法
那么你的代码还可以.问题在于您在UpdatePanel中使用的触发器.
微软说
查看有关MSDN的更多详细信息 因此,您在UpdatePanel中使用PostBackTrigger将导致同步回发,并且UpdateProgress将不会显示. <Triggers>
<asp:PostBackTrigger ControlID="btnExport" />
// Incorrect
</Triggers>
将其更改为 <Triggers>
<asp:AsyncPostBackTrigger ControlID="btnExport" />
// Correct
</Triggers>
这将显示您的UpdateProgress并将按预期工作. 正如您在评论中提到的那样,您也在网格上执行下载.您可以使用ScriptManager注册Button.这将注册您的按钮,并在异步回发时注意下载按钮. protected void GridView_RowDataBound(object sender,GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btnExport = e.item.FindControl("btnExport") as Button;
if (btnExport != null)
{
((ScriptManager)this.Page.Master.FindControl("ID of your Script manager")).RegisterPostBackControl(downloadDocColumn);
// In Above line i assumed Script Manager is placed on Your master page.
}
}
}
希望这可以帮助… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – 如何在浏览器窗口调整大小时调整带有边框
- asp.net-mvc – asp.net mvc的Paperclip
- asp.net-identity – 使用asp.net身份在身份服务器4中实现角
- 实体框架 – 带MVC3的EF4 – 我需要存储库模式吗?
- asp.net – 无法在动态创建的System.Web.UI.WebControl上使
- asp.net-mvc – 如何使用ASP.NET MVC实现自定义缓存提供程序
- asp.net-mvc – Thunderdome MVC-为什么在MVC中使用one-mod
- asp.net-mvc-2 – MVC HttpDelete动词导致405方法不允许
- asp.net – 当我将’启用32位应用程序’更改为False时,为什
- asp.net – 与IIS7的ASP MVC路由问题
- asp.net-mvc – 在MVC 4应用程序中处理带有自定义
- asp.net-mvc – ASP.NET MVC和Unity 1.2容器问题
- asp.net-mvc – 嵌套的MVC母版页
- asp.net-mvc – 验证URL是否映射到ASP.Net MVC中
- asp.net – 在什么情况下HttpContext.Current.Se
- asp.net-mvc – ‘永久’SessionFactory,ASP.NET
- asp.net-mvc – ASP.NET MVC 3 – 你想看什么功能
- asp.net – 如何使用TLS电子邮件与web.config
- .net – 有没有办法在Crystal Reports中渲染LaTe
- asp.net-mvc – 任何支持ASP.NET MVC的图表控件,
