zoukankan      html  css  js  c++  java
  • 多个button与验证控件validator的矛盾

    1.我的添加页面中放置了一个验证控件,验证用户名不能为空,页面按钮点击时会自动进行验证。我的页面中做了一个“注册”button,“注册”时将不触发验证控件,那么就设置“注册”button的CausesValidation=False;

    2.button 按钮触发后相当于提交表单的动作,这样会激发页面验证控件的验证事件先执,验证未完成故而不能执行button的click事件;我通过将该button按钮添加ValidatorGroup="ValidataGroup1"解决了问题。更精确理解见下文:

     
     

    页面里多个按钮时,默认情况是Button与验证控件有冲突。ASP.NET 2.0中新增的ValidationGroup属性可以解决这个问题。

    问题描述:在一个页面里创建多个按钮,其中默认情况下Button与验证控件冲突:当其中的一个按钮被点击后想要特定的validator被激发而不是页面中的所有validator(如验证用户名是否可用)。而其他按钮则不需要validator。此时会都会启用数据验证控件。

    说明:在asp.net 1.1中除了hack code没有更好的办法解决Button与验证控件冲突的问题。asp.net 2.0中给所有的验证控件和按钮(button、linkbutton等等)增加了ValidatorGroup属性,就可以轻松地解决这个问题。

    如果在页面中有一个TextBox并且紧挨着他有一个RequiredFieldValidator 和Button控件,可以将RequiredFieldValidator和Button的ValidationGroup属性设置成一样的值从而使得点击button时只触发这个RequiredFieldValidator的validor,任何没有定义在ValidationGroup内的其他的 validator都会被忽略。

    例子:

    文本框和数据验证控件:

    1. < asp:TextBox ID="TxtOldPs" runat="server" Width="150px">< /asp:TextBox>
    2. < asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TxtOldPs"
    3. Display="None" ErrorMessage="< b>友情提醒< /b>< br />请输入原始密码!!" ValidationGroup="ValidataGroup1">< /asp:RequiredFieldValidator>

    按钮事件:

    1. < asp:Button ID="ButtonOK" runat="server" Text="修改" OnClick="Edit_Click" ValidationGroup="ValidataGroup1" />

    另一个按钮 则不需要设置ValidationGroup

    1. < asp:Button ID="ButtonOK" runat="server" Text="退出" OnClick="Exit_Click" />

    这样就通过ValidationGroup解决了Button与验证控件冲突的问题。

    原文地址:https://blog.csdn.net/qq_34977392/article/details/78565279

  • 相关阅读:
    Oracle基础知识整理
    linux下yum安装redis以及使用
    mybatis 学习四 源码分析 mybatis如何执行的一条sql
    mybatis 学习三 mapper xml 配置信息
    mybatis 学习二 conf xml 配置信息
    mybatis 学习一 总体概述
    oracle sql 语句 示例
    jdbc 新认识
    eclipse tomcat 无法加载导入的web项目,There are no resources that can be added or removed from the server. .
    一些常用算法(持续更新)
  • 原文地址:https://www.cnblogs.com/cwgupup/p/13210652.html
Copyright © 2011-2022 走看看