Контейнер вкладки - событие кнопки не запускается

В контейнере вкладок, скажем, у меня есть две вкладки [Tab1 и Tab2]

Tab1 имеет 2 текстовых поля с обязательным валидатором поля

Tab2 имеет 3 текстовых поля с обязательным валидатором поля

Теперь, даже если я заполняю все текстовые поля в TAB1, это не позволяет мне выполнить обратную передачу. [потому что текстовые поля TAB2 все еще пусты]

& Когда я заполняю все текстовые поля [Tab1 и Tab2], кнопка срабатывает правильно.

Как этого избежать ??

Я имею в виду, что пользователь должен заполнить данные для TAB1 и может отправить их. В то время я не хочу, чтобы проверки TAB2 работали.

Пожалуйста, помогите и дайте мне знать, если что-то еще требуется.


person Zerotoinfinity    schedule 21.03.2010    source источник


Ответы (2)


Добавьте свойство ValidationGroup="Tab1" к элементам управления и их соответствующим валидаторам, которые находятся на первой вкладке, и ValidationGroup="Tab2" для элементов управления второй вкладки.

person Roman Boiko    schedule 21.03.2010

Или вы добавляете группы валидаторов программно:

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);
    }
}
person Schleicher    schedule 06.07.2011