【问题标题】:Bootstrap not working with UpdatePanel引导程序无法与 UpdatePanel 一起使用
【发布时间】:2018-11-03 06:15:50
【问题描述】:

我有一个使用引导程序作为前端框架的 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 如下所示:

当我点击“+”图标时,下拉列表会消失:

我尝试在pageLoad 函数中再次调用bundles,但它似乎不起作用。

<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>

有什么想法吗?

【问题讨论】:

  • 点击加号(+)图标时你在做什么??
  • 在列表视图中添加新行。

标签: javascript asp.net ajax updatepanel


【解决方案1】:

pageLoad$(document).ready 仅在页面的初始加载时调用,而不是在异步回发(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>

【讨论】:

  • pageLoad 确实在部分回发后被调用。我试过添加requestmanager,但还是不行。
  • 我也从来没有遇到过这种情况。不得不将 bootstrap 降级到 3.* 并停止使用 bootstrap-select 并返回到旧的 select2 下拉菜单。希望看到一个有效的答案!
  • 你必须找到生成下拉列表的bootstrap 4 jquery sn -p 并在异步回发后再次执行。
【解决方案2】:

看起来不需要加载脚本。我需要做的是重新加载selectpicker

我是这样解决的:

<script type="text/javascript">
    function pageLoad(sender, args) {
        if (args.get_isPartialLoad()) {                
            $('#<%= updtPnlBran.ClientID %> .selectpicker').selectpicker();
        }
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-22
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 2013-05-26
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多