Bootstrap не работает с UpdatePanel - PullRequest
0 голосов
/ 24 мая 2018

У меня есть приложение ASP.NET, которое использует начальную загрузку в качестве внешнего интерфейса.Я буду связывать библиотеки, которые я использую, через ScriptBundle, который выглядит следующим образом:

bundles.Add(new ScriptBundle("~/bundles/masterPageScripts").Include(
        "~/Theme/plugins/jQuery/jQuery-2.2.0.min.js",
        "~/Theme/bootstrap/js/bootstrap.min.js",
        "~/Scripts/bootstrap-select.min.js",
        ....
    ));

И затем у меня есть ListView, который я хочу поместить в UpdatePanel, чтобы онне обновляет всю страницу.ListView выглядит следующим образом:

enter image description here

При нажатии на значок «+» раскрывающийся список исчезнет:

enter image description here

Я попытался снова вызвать bundles в функции pageLoad, но, похоже, она не работает.

<script type="text/javascript">
    // Reload js on partial postback
    function pageLoad(sender, args) {
        if (args.get_isPartialLoad()) {
            jQuery.ajax({
                type: "GET",
                url: '<%: Scripts.Url("~/bundles/masterPageScripts") %>',
                dataType: "script",
                cache: true
            });
        }
    }
</script>

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Похоже, загрузка скриптов не нужна.Что мне нужно было сделать, это перезагрузить selectpicker.

Вот как я это решаю:

<script type="text/javascript">
    function pageLoad(sender, args) {
        if (args.get_isPartialLoad()) {                
            $('#<%= updtPnlBran.ClientID %> .selectpicker').selectpicker();
        }
    }
</script>
0 голосов
/ 24 мая 2018

pageLoad или $(document).ready вызываются только при начальной загрузке страницы, а не после Async PostBack (обновление содержимого внутри UpdatePanel).Для этого вам нужно PageRequestManager.

<script>
    var requestmanager = Sys.WebForms.PageRequestManager.getInstance();

    requestmanager.add_endRequest(function () {
        if (args.get_isPartialLoad()) {
            jQuery.ajax({
                type: "GET",
                url: '<%: Scripts.Url("~/bundles/masterPageScripts") %>',
            dataType: "script",
            cache: true
        });
    }
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...