aspx页面 使用 验证控件后的问题

 

今天遇到这个问题! 其实之前也遇到过这个问题!没有记录下来!又重蹈覆辙了!

 

当aspx页面使用了下面的验证控件,<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
        <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="RangeValidator"></asp:RangeValidator>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator"></asp:RegularExpressionValidator>
        <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"></asp:CompareValidator>
        <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator"></asp:CustomValidator>
        <asp:ValidationSummary ID="ValidationSummary1" runat="server" />

 

页面上如果还有服务器控件包括 ButtonHtmlButtonHtmlInputButtonHtmlInputImageImageButton 以及 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文本框没有输入值,也不可以提交
	//其他ButtonHtmlButtonHtmlInputButtonHtmlInputImageImageButton 以及 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="form1" 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"/>
 
    </form>
以上设置后!只有点击SubmitButton按钮才去验证输入!而点击SearchButton按钮就不会验证!
把以上代码放在aspx页面上,运行即可看到明显的效果!
感谢网络上一些无私的人!分享他们的技术!:) 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值