【问题标题】:Removing button while progress is displayed显示进度时移除按钮
【发布时间】:2010-09-13 23:42:35
【问题描述】:

我在 ASP.NET wep 应用程序表单上有一个按钮,点击后会关闭并发布第三方 Web 服务的信息。

我有一个与该按钮关联的 UpdateProgress。

如何在进度可见时禁用/隐藏按钮(即服务器尚未完成操作)

我正在考虑这样做是为了在发送信息时阻止用户再次点击(因为这会导致发送重复的信息)

【问题讨论】:

  • 接受的答案很有效。我唯一拥有的是我最初在声明脚本管理器之前放置了 javascript 代码。这导致 PageRequestManager 的 .getInstace 返回 null。移到页面末尾有效。感谢您的帮助!

标签: asp.net vb.net ajax


【解决方案1】:

在整个页面上放置半透明 png 的最简单方法 - 然后他们无法将事件发送到下面的页面。在我看来,它看起来也不错。

你会在各种 AJAX 工具包的模态对话框实现和灯箱中看到这种东西。

如果您不喜欢该外观,只需使其几乎完全透明(完全透明的 alpha 值 1 不明显)。

【讨论】:

    【解决方案2】:

    您必须将 javascript 方法连接到页面请求管理器 (Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest)。这是我用来隐藏按钮的代码,我更喜欢禁用它们(请参阅底部链接中的操作方式)。

    ASP.NET

    <div id="ButtonBar">
      <asp:Button id= ............
    </div>
    

    Javascript

    <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>
    

    Why my ASP.NET AJAX forms are never submitted twice by Dave Ward查看更多信息。

    【讨论】:

      【解决方案3】:

      我还写了一篇关于此的博客文章,希望对您有所帮助: http://www.fitnessconnections.com/blog/post/2008/01/Disabling-a-submit-button-UpdatePanel-Update-method.aspx

      干杯:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-08
        • 1970-01-01
        • 2012-07-03
        • 1970-01-01
        相关资源
        最近更新 更多