前一段时间在写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的属性,可以将页面以提交的方式跳转到另一个页面
本文介绍了在ASP.NET中如何通过设置验证分组(ValidationGroup)来实现对不同按钮触发的不同验证逻辑,使得某些按钮触发验证而另一些按钮不触发验证,从而更好地控制表单提交行为。
1150

被折叠的 条评论
为什么被折叠?



