如何在textchanged事件中使页面无效。
我有一个简单的表单,包含文本框和要提交的按钮 如果输入的文本无效,我想禁用该按钮或停止提交。 因为我有一些db操作来检查内容的有效性,所以在textchanged事件中检查有效性。 如果我可以以某种方式使textchanged事件中的页面无效,那么它可能会更容易 请给我一些简单的方法来实现这一点 谢谢 Shomaail
答案 0 :(得分:1)
我能够完美地解决自己的问题。我使用了customvalidator OnServerValidate Event
现在在我的TextChanged事件中,如果输入的数据不正确,我会显示警告,并且在我的提交按钮的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;
}
答案 1 :(得分:0)
您可以将Button Enabled Property设置为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>
On Code Behid:
protected void txtData_TextChanged(object sender, EventArgs e)
{
if(txtData.Text == "something")
{
btnSave.Enabled = True;
}
else
btnSave.Enabled = False;
}