前一段时间在写asp.net.代码的时候发现,一个form下有多个按钮,则每个按钮都会触发验证控件(当然前提是添加了验证控件在先),这样一些不需要验证的按钮就失去了作用.
前天应朋友的要求再次改写那段代码,终于明白了分组验证的作用.也解决了上面的问题.
<
asp:TextBox ID
=
"
TextBox1
"
runat
=
"
server
"
></
asp:TextBox
>
< asp:RequiredFieldValidator ID = " RequiredFieldValidator1 " runat = " server " ControlToValidate = " TextBox1 "
ErrorMessage = " 请输入注册的用户名 " ValidationGroup = " va1 " ></ asp:RequiredFieldValidator >
< asp:Button ID = " Button1 " runat = " server " Text = " 马上注册 " OnClick = " Button1_Click " ValidationGroup = " va1 " />
< asp:RequiredFieldValidator ID = " RequiredFieldValidator1 " runat = " server " ControlToValidate = " TextBox1 "
ErrorMessage = " 请输入注册的用户名 " ValidationGroup = " va1 " ></ asp:RequiredFieldValidator >
< asp:Button ID = " Button1 " runat = " server " Text = " 马上注册 " OnClick = " Button1_Click " ValidationGroup = " va1 " />
<
asp:Button ID
=
"
Button3
"
runat
=
"
server
"
PostBackUrl
=
"
~/login.aspx
"
Text
=
"
马上登陆
"
/>
< asp:Button ID = " Button2 " runat = " server " OnClick = " Button2_Click " Text = " 清空 " UseSubmitBehavior = " False " />
< asp:Button ID = " Button2 " runat = " server " OnClick = " Button2_Click " Text = " 清空 " UseSubmitBehavior = " False " />
上面的代码是摘抄的一部分代码, RequiredFieldValidator1验证TextBox1,Button1负责提交,同为验证分组(ValidationGroup)的一个组va1,Button2,Button3,没有设置验证的分组
其中Button3设置了PostBackUrl的属性,可以将页面以提交的方式跳转到另一个页面