禁用按钮服务器端

时间:2014-04-11 11:32:01

标签: asp.net vb.net button

我有一个带有提交按钮的表单,我想在提交时禁用该表单(因此用户不会两次提交表单内容)。

表单有2个必填字段,应该填写,所以一个简单的单击禁用按钮(客户端)不会做我害怕的技巧。

Protected Sub Btn_SubmitContact_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Btn_SubmitContact.Click
     If Page.IsValid Then
          Btn_SubmitContact.Enabled = False
          //all other logic
     End If
 End Sub

这不会更改密钥的属性,用户仍然可以单击按钮并将内容发布两次。我知道需要进行一些刷新/更新才能更改按钮...

有人可以解释一下这是如何运作的吗?

1 个答案:

答案 0 :(得分:1)

首先使用asp:RequiredFieldValidator检查必填字段,然后单击该按钮时可以使用Javascript禁用它:

<asp:button id="Btn_SubmitContact" 
        OnClientClick="this.disabled = true; this.value = 'In process...';"
        UseSubmitBehavior="false" OnClick="Btn_SubmitContact_Click"
        Text="Submit" runat="server" />