ASP.NET如何在文本变化事件中无效



我如何在文本变化事件中无效该页面。

我有一个简单的表单,带有文本框和一个按钮要提交如果输入的文本无效,我想禁用按钮或停止提交。由于我有一些数据库操作来检查内容的有效性,因此应在文本变化事件中检查有效性。如果我能以某种方式使文本变化事件中的页面无效,那么可能会更容易请给我一些简单的实施方法谢谢Shomaail

我能够完美解决自己的问题。我使用了CustomValidator OnServervalidate事件

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.onservervalidate(v = vs.110).aspx

现在,在我的文本变化事件中,如果输入的数据不正确,我会显示警告,并且在我的提交按钮的button_click事件中,我致电page.validate()随后调用与文本关联的每个自定义验证器的onservervalidate事件处理程序盒子。

 protected void btnIssueItem_Click(object sender, EventArgs e)
    {
        Page.Validate();
        if (!Page.IsValid)
            return;
....
}

protected void tbRoomID_CustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
    {
        BAL bal = new BAL();
        args.IsValid = bal.GetRoomByRoomID(Int32.Parse(args.Value)).Count == 0 ? false : true;
    }

您可以将启用按钮设置为false的true,即:

<asp:TextBox runat="server" ID="txtData" OnTextChanged="txtData_TextChanged"
                                            AutoPostBack="true"></asp:TextBox>
 <asp:Button runat="server" ID="btnSave" OnClik="btnSave_Click"></asp:Button>

在代码behid上:

      protected void txtData_TextChanged(object sender, EventArgs e)
        {
           if(txtData.Text == "something")
           {
               btnSave.Enabled = True;
           }
           else
               btnSave.Enabled = False;
        }

最新更新