显示进度时删除按钮
时间:2020-03-06 14:52:18 来源:igfitidea点击:
我在ASP.NET wep申请表上有一个按钮,单击该按钮后会消失,并向第三方Web服务发布信息。
我有一个与按钮关联的UpdateProgress。
在看到进度时(即服务器尚未完成操作)如何禁用/隐藏按钮
我正在考虑这样做,以阻止用户在发送信息时再次单击(因为这会导致发送重复的信息)
解决方案
最简单的方法是在整个页面上放置半透明的png,然后它们就无法将事件发送到下面的页面。在我看来,它看起来也不错。
我们可以在各种AJAX工具箱的模式对话框实现中以及在lightbox中看到这种情况。
如果我们不喜欢它的外观,则只需使其几乎完全透明即可(完全透明的Alpha值1并不明显)。
我们必须将javascript方法连接到页面请求管理器(Sys.WebForms.PageRequestManager.getInstance()。add_initializeRequest)。这是我用来隐藏按钮的代码,我希望禁用它们(请参阅底部的链接中的操作)。
ASP.NET
<div id="ButtonBar"> <asp:Button id= ............ </div>
Java脚本
<script language="javascript"> // Get a reference to the PageRequestManager. var prm = Sys.WebForms.PageRequestManager.getInstance(); // Using that prm reference, hook _initializeRequest // and _endRequest, to run our code at the begin and end // of any async postbacks that occur. prm.add_initializeRequest(InitializeRequest); prm.add_endRequest(EndRequest); // Executed anytime an async postback occurs. function InitializeRequest(sender, args) { $get('ButtonBar').style.visibility = "hidden"; } // Executed when the async postback completes. function EndRequest(sender, args) { $get('ButtonBar').style.visibility = "visible"; } </script>
有关更多信息,请参见Dave Ward为什么我的ASP.NET AJAX表单从不提交两次。
我还写了一篇关于此的博客文章,希望对我们有所帮助:
http://www.fitnessconnections.com/blog/post/2008/01/Disabling-a-submit-button-UpdatePanel-Update-method.aspx
干杯:)