zoukankan      html  css  js  c++  java
  • .NET服务器端按钮在客户端点击后禁用,服务端执行完事件后再次激活

      .NET系统经常服务器在后台执行较复杂的操作未能及时响应客户端,此时客户端就会以为之前点的按钮无效再次点击又向服务器发起新的请求,产生恶性循环。

    通过以下方法可将按钮失效,等服务器响应后重新激活:

    思路:将该按钮隐藏,新增一个html按钮,点击后执行JS方法,点击后将按钮禁用,然后触发隐藏的服务器按钮的Click事件。在服务器端执行完后返回客户端,将html按钮重新激活。

    客户端代码:

     1     <script>
     2         function doMyEvent(sender) {
     3             sender.disabled = "disabled";
     4             document.getElementById("<%=btnExcel.ClientID%>").click();
     5         }
     6     </script>
     7 
     8    <table>
     9       <tr>
    10          <td>选择文件
    11              <input class="inputtxt1" id="FileUpload" type="file" size="20" name="FileUpload"
    12                    runat="server" unselectable="on" style=" 300px" />
    13              <input id="myBtn" type="button" value="导入Excel" class="btnbg" onclick="doMyEvent(this)" />
    14              <asp:Button ID="btnExcel" runat="server" OnClick="btnAddLib_Click" Style="display: none"></asp:Button>
    15          </td>
    16      </tr>
    17   </table>

    服务器端代码:

    1 protected void btnAddLib_Click(object sender, System.EventArgs e)
    2 {
    3     //………….
    4     this.WriteAjaxMessage("document.getElementById('myBtn').disabled = '';");
    5 }
    Yi只渴望成长的码农~
  • 相关阅读:
    Spring基于纯注解的声明式事务控制
    Spring基于XML的声明式事务控制
    2.Jersey
    1.解读REST和JAX-RS
    getHibernateTemplate和getSession 区别, this.getHibernateTemplate().getSessionFactory().getCurrentSession()和OpenSession区别
    eclipse安装maven报错
    MyEclipse10 + tomcat8 64位
    理解MVC
    java编程规范
    c3p0详细配置
  • 原文地址:https://www.cnblogs.com/Kelly-Zheng/p/5324727.html
Copyright © 2011-2022 走看看