3

在选项卡容器中假设我有两个选项卡 [Tab1 & Tab2]

Tab1 有 2 个带有必填字段验证器的文本框

Tab2 有 3 个带有必填字段验证器的文本框

现在,即使我填写了 TAB1 中的所有文本框,它也不允许我回发。[因为 TAB2 文本框仍然是空的]

& 当我填充所有文本框 [Both Tab1 & Tab2] 时,按钮正确触发。

如何避免这种情况??

我的意思是用户必须填写 TAB1 的详细信息并可以提交详细信息。那时我不希望 TAB2 验证工作。

请帮助并请让我知道是否需要其他任何内容。

4

2 回答 2

2

ValidationGroup="Tab1"属性添加到第一个选项卡上的控件及其各自的验证器,以及ValidationGroup="Tab2"第二个选项卡控件。

于 2010-03-21T08:24:00.387 回答
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);
    }
}
于 2011-07-06T08:13:03.453 回答