Bootstrap 无法使用 UpdatePanel
Bootstrap not working with UpdatePanel
我有一个 ASP.NET 应用程序,它使用 bootstrap 作为前端框架。我将通过 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>
有什么想法吗?
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>
看起来没有必要加载脚本。我需要做的是重新加载 selectpicker
.
我是这样解决的:
<script type="text/javascript">
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
$('#<%= updtPnlBran.ClientID %> .selectpicker').selectpicker();
}
}
</script>
我有一个 ASP.NET 应用程序,它使用 bootstrap 作为前端框架。我将通过 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>
有什么想法吗?
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>
看起来没有必要加载脚本。我需要做的是重新加载 selectpicker
.
我是这样解决的:
<script type="text/javascript">
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
$('#<%= updtPnlBran.ClientID %> .selectpicker').selectpicker();
}
}
</script>