UpdatePanel и JQuery UI / Вкладки выбранной вкладки - PullRequest
1 голос
/ 19 декабря 2011

У меня есть метод на стороне сервера, который может занять много времени.Я решил отобразить модальный процесс загрузки и для этого я использовал этот учебник .Это работает нормально, но моя проблема заключается в следующем.

Я использую jQuery UI / Tab на той же странице, и он содержит две вкладки.При обратной передаче все пользовательские интерфейсы теряют стили.Как я понял, проблема в UpdatePanel, и предлагаемое решение - использовать функцию pageLoad().Но это частично решило мою проблему, потому что последняя выбранная вкладка не сохраняется при обратной передаче.

До реализации процесса загрузки модели все работало нормально, и я использовал следующее:

$(function() {
    $("#tabs").tabs({
        show: function() {
            var sel = $('#tabs').tabs('option', 'selected');                                               
            $("#<%= hidLastTab.ClientID %>").val(sel);
            $( "#tabs" ).tabs( "option", "disabled", [<%= hidDisTab.Value %>] );                         
        },
        selected: <%= hidLastTab.Value %>     
    }); 
});

Есть ли какое-то решение для этого?

Ответы [ 2 ]

1 голос
/ 19 декабря 2011

У меня похожая проблема, и я разобрался, используя следующее:

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(load_lazyload);
    load_lazyload();
}

function load_lazyload() {
    //here you need to add the jquery functions related to the tabs, as well as other jquery code you may have
    //i.e.
    $(function () {
        $(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
    });
}

Надеюсь, это поможет,

ОБНОВЛЕНИЕ : Возможно, для вашего конкретного случая это будет примерно так:

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(load_lazyload);
    load_lazyload();
}

function load_lazyload() {
    $(function() {
        $("#tabs").tabs({
            show: function() {
                var sel = $('#tabs').tabs('option', 'selected');                                               
                $("#<%= hidLastTab.ClientID %>").val(sel);
                $( "#tabs" ).tabs( "option", "disabled", [<%= hidDisTab.Value %>] );                         
            },
            selected: <%= hidLastTab.Value %>     
        }); 
    });
}
0 голосов
/ 19 декабря 2011

Вам необходимо зарегистрировать ClientSideScript, который выбирает текущую вкладку в любом событии / методе, которые выполняются во время обратной передачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...