在标签容器中,假设我有两个标签[Tab1& TAB2]
Tab1有2个带有必填字段验证器的文本框
Tab2有3个带有必填字段验证器的文本框
现在,即使我填写了TAB1中的所有文本框,也不允许我回发。 [因为TAB2文本框仍然是空的]
&安培;当我填写所有文本框时[Tab1& Tab2],按钮正确触发。
如何避免这种情况?
我的意思是用户必须填写TAB1&amp ;;的详细信息。可以提交详细信息。那时我不希望TAB2验证起作用。
请帮助&如果还有其他需要,请告诉我。
答案 0 :(得分:2)
将ValidationGroup="Tab1"
属性添加到第一个标签页上的控件及其各自的验证程序,并为第二个标签控件添加ValidationGroup="Tab2"
。
答案 1 :(得分:1)
或者您以编程方式添加验证器组:
protected void Page_Init(object sender, EventArgs e)
{
foreach (TabPanel tp in Tabs1.Tabs)
SetValidatorGroup(tp.Controls, string.Format("{0}_ValidatorGroup", tp.ID));
}
private void SetValidatorGroup(ControlCollection cc, string validatorGroup)
{
foreach (Control c in cc)
{
if (c is BaseValidator)
{
//Response.Write(string.Format("ValidationGroup '{0}' on Control {1}<br />", validatorGroup, c.ID));
((BaseValidator)c).ValidationGroup = validatorGroup;
}
else if (c is IButtonControl)
{
//Response.Write(string.Format("ValidationGroup '{0}' on Control {1}<br />", validatorGroup, c.ID));
((IButtonControl)c).ValidationGroup = validatorGroup;
}
else
SetValidatorGroup(c.Controls, validatorGroup);
}
}