根据验证控件的TabIndex这个几乎没有用的属性来分组
页面Javascript脚本: <script language="javascript" type="text/javascript"> function hideOldValidatorDisplay() { var i; for (i = 0; i < Page_Validators.length; i++) { var val = Page_Validators[i]; if (typeof(val.display) == "string") { if (val.display == "None") { return; } } if (val.display == "Dynamic") { val.style.display = "none"; return; } val.style.visibility = "hidden"; } } var oldPage_Validators; function selectForValidator(tabIndex) { if(typeof(oldPage_Validators) == "undefined") { oldPage_Validators = Page_Validators; } result = new Array(); for(i = 0;i < oldPage_Validators.length; i++) { if(oldPage_Validators[i].tabIndex == tabIndex) { result[result.length] = oldPage_Validators[i]; } } hideOldValidatorDisplay(); Page_Validators = result; } </script><script language="javascript" type="text/javascript"> function hideOldValidatorDisplay() { var i; for (i = 0; i < Page_Validators.length; i++) { var val = Page_Validators[i]; if (typeof(val.display) == "string") { if (val.display == "None") { return; } } if (val.display == "Dynamic") { val.style.display = "none"; return; } val.style.visibility = "hidden"; } } var oldPage_Validators; function selectForValidator(tabIndex) { if(typeof(oldPage_Validators) == "undefined") { oldPage_Validators = Page_Validators; } result = new Array(); for(i = 0;i < oldPage_Validators.length; i++) { if(oldPage_Validators[i].tabIndex == tabIndex) { result[result.length] = oldPage_Validators[i]; } } hideOldValidatorDisplay(); Page_Validators = result; } </script>
function hideOldValidatorDisplay()
{
var i;
for (i = 0 ; i < Page_Validators.length; i ++ )
{
var val = Page_Validators[i];
if ( typeof (val.display) == " string " )
{
if (val.display == " None " )
{
return ;
}
}
if (val.display == " Dynamic " )
{
val.style.display = " none " ;
return ;
}
val.style.visibility = " hidden " ;
}
}
var oldPage_Validators;
function selectForValidator(tabIndex)
{
if ( typeof (oldPage_Validators) == " undefined " )
{
oldPage_Validators = Page_Validators;
}
result = new Array();
for (i = 0 ;i < oldPage_Validators.length; i ++ )
{
if (oldPage_Validators[i].tabIndex == tabIndex)
{
result[result.length] = oldPage_Validators[i];
}
}
hideOldValidatorDisplay();
Page_Validators = result;
}
</ script >
//-----------------------------------------------
CodeBehind代码:
{
if ( ! Page.IsPostBack)
{
// 验证TabIndex为15的验证控件
this .lbtnSubmit.Attributes[ " onclick " ] = " selectForValidator(15); " ;
// 验证未设TabIndex,即TabIndex=0的验证控件
this .btnSubmit.Attributes[ " onclick " ] = " selectForValidator(0); " ;
}
}
protected bool ValidateGroup(Int16 validatorTabIndex)
{
bool isInputValid = true ;
BaseValidator baseVal;
foreach (IValidator valCtl in Validators)
{
baseVal = (BaseValidator)valCtl;
baseVal.IsValid = true ;
if (baseVal.Enabled && baseVal.Visible && baseVal.TabIndex == validatorTabIndex)
{
valCtl.Validate();
isInputValid = isInputValid && valCtl.IsValid;
}
}
return isInputValid;
}
private void lbtnSubmit_Click( object sender, System.EventArgs e)
{
bool isPageValid = ValidateGroup( 15 );
if (isPageValid) Response.Write( " Valid " );
}
private void btnSubmit_Click( object sender, System.EventArgs e)
{
bool isPageValid = ValidateGroup( 0 );
if (isPageValid) Response.Write( " Valid " );
}