选项卡容器 - 按钮事件未触发

发布于 2024-08-25 13:24:52 字数 329 浏览 3 评论 0原文

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

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

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

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

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

如何避免这种情况?

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

请帮忙&如果还需要什么,请告诉我。

In tab container let say I have two tabs [Tab1 & Tab2]

Tab1 has 2 text box with required field validator

Tab2 has 3 text box with required field validator

Now even if I am filling all the text boxes in the TAB1, it is not allowing me to postback. [because TAB2 text boxes are still empty]

& When I am filling all the textboxes [Both Tab1 & Tab2], button is firing correctly.

How to avoid this ??

I mean user has to fill details for the TAB1 & can submit the details. At that Time I don't want TAB2 validations to work.

Please help & kindly let me know if anything else is required.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

那小子欠揍 2024-09-01 13:24:52

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

Add ValidationGroup="Tab1" property to controls and their respective validators which are on the first tab, and ValidationGroup="Tab2" for second tab controls.

过去的过去 2024-09-01 13:24:52

或者您以编程方式添加验证器组:

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);
    }
}

Or you add validatorgroups programmatically:

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);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文