今天遇到这个问题! 其实之前也遇到过这个问题!没有记录下来!又重蹈覆辙了!
当aspx页面使用了下面的验证控件
代码
1 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" />
2 <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="RangeValidator" />
3 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator" />
4 <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator" />
5 <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator" />
6 <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
页面上如果还有服务器控件包括 Button、HtmlButton、HtmlInputButton、HtmlInputImage、ImageButton 以及 LinkButton 这几个控件! 当点击他们后,都会验证! 当然有些按钮他不需要验证! 点击任何按钮他都去验证了哦! 这个问题对于不知道的人真的有点郁闷!通过我Google后! 终于找到了解决方案: 设置以上服务器标签的CausesValidation = “false”
CausesValidation 属性规定当按钮控件被点击时是否验证页面。
当按钮被点击时,页面验证默认为执行。
该属性常用于当取消按钮或重置按钮被点击时阻止进行验证。
语法
<asp:Button CausesValidation="TRUE|FALSE" runat="server" /> 另:validationgroup 这个属性也可以解决这个问题!
看示例:来源于网络
代码
<h3>BaseValidator ValidationGroup Example</h3>
Please enter your name:<br />
<asp:TextBox ID="NameTextBox" runat="server" />
<asp:RequiredFieldValidator ID="NameTextBoxRequiredValidator" ControlToValidate="NameTextBox"
Display="Dynamic" Text="Please enter your name." ValidationGroup="UserInfoGroup"
runat="server" />
<br>
<br>
<asp:Button ID="SubmitButton" Text="Submit" ValidationGroup="UserInfoGroup" runat="server" />
<hr />
//如果没有设置validationgroup属性,则如果下面的SearchTextBox文本框没有输入值,也不可以提交 //其他Button、HtmlButton、HtmlInputButton、HtmlInputImage、ImageButton
以及 LinkButton //点击后也没有效果, 建议 如果没有使用了 验证控件 把validationgroup属性设置,同时把 //提交按钮的validationgroup也设置上
Please enter a search topic:<br />
<asp:TextBox ID="SearchTextBox" runat="server" />
<asp:RequiredFieldValidator ID="SearchTextBoxRequiredValidator" ControlToValidate="SearchTextBox"
Display="Dynamic" Text="Please enter a topic." ValidationGroup="SearchGroup"
runat="server" />
<br>
<br>
<asp:Button ID="SearchButton" Text="Search" ValidationGroup="SearchGroup" runat="server" />
需要验证的表单:<form id="form2" runat="server">
<h3>
BaseValidator ValidationGroup Example</h3>
Please enter your name:<br />
<asp:TextBox ID="NameTextBox" runat="server" />
<asp:RequiredFieldValidator ID="NameTextBoxRequiredValidator" ControlToValidate="NameTextBox"
Display="Dynamic" Text="Please enter your name." ValidationGroup="UserInfoGroup"
runat="server" />
<br>
<br>
Please enter a search topic:<br />
<asp:TextBox ID="SearchTextBox" runat="server" />
<asp:RequiredFieldValidator ID="SearchTextBoxRequiredValidator" ControlToValidate="SearchTextBox"
Display="Dynamic" Text="Please enter a topic." ValidationGroup="UserInfoGroup"
runat="server" />
<asp:Button ID="SubmitButton" Text="Submit" ValidationGroup="UserInfoGroup" runat="server" />
<hr />
<br>
<br>
<asp:Button ID="SearchButton" Text="Search" ValidationGroup="SearchGroup" runat="server" />
以上设置后!只有点击SubmitButton按钮才去验证输入!而点击SearchButton按钮就不会验证!把以上代码放在aspx页面上,运行即可看到明显的效果!感谢网络上一些无私的人!分享他们的技术!:)
记录学习点滴...,坚持每天让自己的技能增加1%,默默的坚持下去吧!:-)