UpdateProgress无效,无法显示,没有效果,js给你答案
来源:互联网 发布:海马玩模拟器mac版删 编辑:程序博客网 时间:2024/04/28 15:39
当按钮botton位于updatepannel的外面的时候,会导致UpdateProgress起不到作用!
<asp:UpdatePanel ID="UpdatePanel2" runat="server"> <ContentTemplate> <asp:Label ID="Label1" runat="server" Text="Label" Width="204px"></asp:Label><br /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /> </Triggers> </asp:UpdatePanel> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" Width="201px" /> <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="1"> <ProgressTemplate> <p> 更新中...... </p> </ProgressTemplate> </asp:UpdateProgress>
运行,点击Button按钮,发现"更新中..."字段没有出现,但是赋值正常。
难道使用triggers的调用外部控件来进行异步传输,不会引发UpdateProgress?
后来在网上找到了解决方法:
在代码里面加入如下js:
<script language="javascript" type="text/javascript"> var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_initializeRequest(InitializeRequest); prm.add_endRequest(EndRequest); var postBackElement; function InitializeRequest(sender, args) { if (prm.get_isInAsyncPostBack()) { args.set_cancel(true); } postBackElement = args.get_postBackElement(); if (postBackElement.id = 'Button1') { $get('UpdateProgress1').style.display = 'block'; } } function EndRequest(sender, args) { if (postBackElement.id = 'Button1') { $get('UpdateProgress1').style.display = 'none'; }} </script>
然后运行正常,从上面的js可以看出,如果是triggers触发的button事件,那么progress控件的style.display始终都是none,在button_click事件触发时,并没有使progress的 style.display变成block。所以里面的"更新中..."显示不出来。
再如:UpdateProgress的外面有div包围【divUpdateProgress】:
<div id="divUpdateProgress" style="position: absolute; right: 466px; top: 48px; height: 20px;"> <asp:UpdateProgress ID="UpdateProgress1" runat="server"> <ProgressTemplate> <div style="font-size: 12px; color: Blue; background-color: #FFFFD6; border: solid 1px blue;"> <img src="../Image/ajaxloader.gif" /> 数据加载中,请稍候 </div> </ProgressTemplate> </asp:UpdateProgress> </div>
对应的js:
<script language="javascript" type="text/javascript"> var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_initializeRequest(InitializeRequest); prm.add_endRequest(EndRequest); var postBackElement; function InitializeRequest(sender, args) { if (prm.get_isInAsyncPostBack()) { args.set_cancel(true); } postBackElement = args.get_postBackElement(); if (postBackElement.id == '<%=btnSearch.ClientID %>' || postBackElement.id == '<%=btnSearchOnProj.ClientID %>') { $get('divUpdateProgress').style.display = 'block'; } } function EndRequest(sender, args) { if (postBackElement.id == '<%=btnSearch.ClientID %>' || postBackElement.id == '<%=btnSearchOnProj.ClientID %>') { $get('divUpdateProgress').style.display = 'none'; } } </script>
ps:谋事在人成事也在人,好好揣摩!
- UpdateProgress无效,无法显示,没有效果,js给你答案
- updateprogress 实现层遮罩效果
- UpdateProgress控件显示问题
- ajax UpdateProgress 不显示
- js 调用 UpdateProgress
- JS setTimeout没有效果
- 图片无法显示时,js实现 暂无图片效果
- mybatis无法显示效果
- js方法无效没有进入方法
- 无法显示XML页,文档顶层无效
- UpdateProgress
- UpdateProgress
- Ajax UpdateProgress 显示时间短(超时)
- react.js 显示隐藏效果
- js绑定滚动事件,滚动事件无效,没有触发
- 公司只能给你位置,无法给你未来
- [Windows 7/8]给你的“显示桌面”按钮增加窗口动态效果
- html浮动效果无法显示解决办法
- 如何获取USB设备的序列号?
- 轻量级与重量级特点
- Asp.net Cookie的用法
- print '0#{var}' print "0#{var}"
- UDP bind给出的错误提示10022
- UpdateProgress无效,无法显示,没有效果,js给你答案
- Linux与FreeBSD的多网卡绑定增加服务器流量
- sharepoint2010 The Ribbon Tab with id: "Ribbon.Read" has not been made
- C++Virtual详解
- 用matlab生成样本
- android中View坐标学习
- 微软发布Windows Phone 3.0同步应用程序OSX
- openstack 的Folsom安装,quantum方面
- 使用ASP.NET 2.0 DetailsView控件处理数据