У меня есть TabContainer с тремя страницами полей ввода.Для каждой TabPanel есть набор ValidatorCalloutExtenders (по одному для каждого валидатора на панели).
Когда я проверяю страницу, проверка работает только так, как и для текущей панели.Для всех скрытых панелей вкладок все подсказки валидатора видны в беспорядке, когда выбрана эта вкладка.
Я поместил кнопку на первой и второй вкладках, которая выглядит примерно так:
<input type="button" class="next" value="Next" onclick="Page_ClientValidate('Contact'); if(Page_IsValid) { SelectTab(1); }" />
, где selecttab выглядит так:
function SelectTab(ix)
{
var container = $find('<%=createUserTabs.ClientID%>');
container.set_activeTabIndex(ix);
}
Нажатие только кнопок, страницы вкладок фактически работают с проверкой.Но когда я нажимаю на вкладки вместо кнопок, адские тормоза снова ослабевают.
Сначала нет способа предотвратить переключение вкладок.Во-вторых, если я добавлю валидацию в OnClientActiveTabChanged = "tabChanged", все валидаторы будут собраны в беспорядок на проверенной вкладке, так как она не отображается.
function tabChanged(sender, args) {
tabIndex = sender.get_activeTabIndex();
if (!Page_ClientValidate('Contacts')) {
if (tabIndex != 0) {
sender.set_activeTabIndex(0);
Page_ClientValidate('Contacts'); //Doesn't fix the validator soup
}
return;
}
Кто-нибудь получал ValidatorCalloutExtenders, работающий с TabContainer?
Стоит ли вообще возиться с ajaxControlToolkit или я должен переписать в jQuery, не мигая?(Серьезный вопрос ... Это проект веб-форм, где много, если используется ajaxControlToolkit, но я чувствую себя скованным и противостоящим ему.)