2010-01-28 74 views

回答

19

验证器属性不会呈现为属性的不幸,所以我不知道一个好办法,直接选择他们。您可以尝试迭代Page_Validators数组,并过滤​​掉您想要使用的数组。

尝试:

$.each(Page_Validators, function (index, validator){ 
    if (validator.validationGroup == "your group here"){ 

     ValidatorEnable(validator, false); 

    } 
}); 
+0

我很感激。你的代码很好,很简洁。 – jessegavin 2010-01-28 22:03:30

+0

???我很震惊!首先:这是有效的,谢谢你。但我的问题是:为什么你可以使用Page_Validators,并且你不需要使用$(“#Page_Validators”)? (这不起作用:-)) – Michel 2011-11-15 09:18:25

+0

你真的应该给@Imram – Fandango68 2016-02-05 04:57:16

2

检查this blogpost解释如何与JavaScript。从博客的代码的主要部分:

<script type="text/javascript"> 
     function HasPageValidators() 
     { 
      var hasValidators = false; 

      try 
      { 
       if (Page_Validators.length > 0) 
       { 
        hasValidators = true; 
       } 
      } 
      catch (error) 
      { 
      } 

      return hasValidators; 
     } 

     function ValidationGroupEnable(validationGroupName, isEnable) 
     { 
      if (HasPageValidators()) 
      { 
       for(i=0; i < Page_Validators.length; i++) 
       { 
        if (Page_Validators[i].validationGroup == validationGroupName) 
        { 
         ValidatorEnable(Page_Validators[i], isEnable); 
        } 
       } 
      } 
     } 
    </script> 
1

或者你可以简单地拥有与的ValidationGroup定义的每个属性的验证。

然后你不会需要任何jquery或javascript的东西来关闭它们。

这是我工作的链接。

http://www.w3schools.com/aspnet/showasp.asp?filename=demo_prop_webcontrol_imagebutton_validationgroup

+0

你是一个传奇人物!是这么简单。我尝试从代码隐藏中捕获UpdatePanel,以关闭另一个面板上的验证器,并从代码隐藏中放置触发器,以便更新面板分别处理其验证码! Arrggh你救了我几个小时 – Fandango68 2016-02-05 04:56:31

相关问题