#asp.net #tabs #ajaxcontroltoolkit
#asp.net #вкладки #ajaxcontroltoolkit
Вопрос:
AjaxControlToolkit.TabPanel.prototype._header_onclick выдает ошибку после обновления ajaxtoolkit 1.0 до 3.0.
Ниже приведен код
AjaxControlToolkit.TabPanel.prototype._header_onclick = function(e) {
this.raiseClick();
if (isValidTabChange()) // add this additional code line to do validation
this.get_owner().set_activeTab(this);
};
Ошибка заключается в том, что AjaxControlToolkit не определен, и код выдает ошибку. Кто-нибудь сталкивался с этой проблемой? Возможно, я делаю что-то неправильно, я хочу знать, что кто-то уже решал эту проблему раньше.
Комментарии:
1. Я нашел решение для этого. Где-то на пути AjaxControlToolkit пространство имен изменилось на Sys.Extended.UI.TabPanel.prototype. _header_onclick из AjaxControlToolkit. TabPanel.prototype. _header_onclick. Пару дней это был кошмар, потому что я не мог найти решение, пока не открыл код ajax control toolkit и не исследовал TabPanel, я нашел соответствующий код, а пространство имен было Sys.Extended.UI.
Ответ №1:
Они модифицируют пользовательский интерфейс TabContainer на jQuery в AjaxControlToolkit 4.1.7.1213 ИЛИ 7.1213.
Поэтому вам придется использовать actJQuery вместо Sys.Extended.Пользовательский интерфейс для доступа к методам TabPanel.
actJQuery.ajaxControlToolkit.tabPanel.prototype._headerOnClick = function (e) {
e.preventDefault();
if (confirm('Tabs are changing! Click OK to proceed, or click Cancel to remain on the current tab.')) {
this.options.owner.set_activeTab(this);
this.raiseClick(this);
this._header.focus();
} else return false;
}
Совет: Используйте это, если вы проверяете, изменился ли какой-либо элемент управления в tabpanel
$('form :input').change(function () {
$(this).closest('form').data('changed', true);
});
Приветствия