<asp:Button ID="btnSubmit" runat="server" UseSubmitBehavior="false" OnClientClick="this.disabled=true; " Text="Submit" OnClick="Button1_Click" />
使用这句代码 可以禁用客户端多次提交 但是Button1_Click执行完成之后 按钮还是可以点击
现在我点击事件里面加了这个this.btnSubmit.Enabled = false;解决这个问题但是老大说 不能再后台写this.btnSubmit.Enabled = false;
用JS解决怎么弄?需求 这个服务器按钮 只点击一次就被禁用了,以后都不用,不能再后台使用this.btnSubmit.Enabled = false;
得在前台解决 最好能用JS控制  
谢谢 

解决方案 »

  1.   

    $("#btnApplyPerson").attr("disabled",true);
      

  2.   

    这样不好控制 必须要点击一次之后 这个按钮才永远禁用 ,刚刚进入页面的时候是可用的,
    ASP.NET有回发 会刷新页面 在JS 这样处理不行
      

  3.   

    <script type="text/javascript">
    function test()
    {
    document.getElementById("btnSubmit").disabled = true;
    }
    </script>
    protected void Button1_Click(object sender, EventArgs e)
    {
    //执行你的代码
    Page.RegisterStartupScript("message", "<script>test();</script>");
    }
      

  4.   

    第一次请求可用,回发之后不可用:
    (1)“现在我点击事件里面加了这个this.btnSubmit.Enabled = false;解决这个问题。”正解。且是最安全的方法
    (2)如果一定要用js,那在click方法里加上输出一段脚本就行,比如 response.write("<script>$('#btnApplyPerson').attr("disabled",'disabled');</script>");。也就是说,在postback之后(保存回收完之后),在页面增加一段js禁用该按钮。
    (3)如果业务逻辑需求永久禁用,应该在表添加状态字段。
      

  5.   


    貌似在前台用JS无法控制 这个效果 
    不能 用this.btnSubmit.Enabled = false; 也就代表了 Click事件里面不能写任何的注册  全部在JS完成
    还好老大说不用这样做了 直接用this.btnSubmit.Enabled = false;  嘿嘿 谢谢了哈
      

  6.   

    这样不好控制 必须要点击一次之后 这个按钮才永远禁用 ,刚刚进入页面的时候是可用的,
    ASP.NET有回发 会刷新页面 在JS 这样处理不行
    自己加点逻辑控制下啊,.......
      

  7.   

    这样不好控制 必须要点击一次之后 这个按钮才永远禁用 ,刚刚进入页面的时候是可用的,
    ASP.NET有回发 会刷新页面 在JS 这样处理不行
    自己加点逻辑控制下啊,.......

    Js的逻辑要去操作Cookie比较麻烦 不过已经解决了 谢了哈