AspNet.ScriptManager.bootstrap作用是什么?如何替换适配高版本?
AspNet.ScriptManager.bootstrap 的具体作用
- 这是面向ASP.NET Web Forms生态的NuGet适配包,本身不包含Bootstrap的核心功能代码,核心作用是自动将对应版本Bootstrap的CSS、JS资源注册到ASP.NET内置的
ScriptManager控件体系中,自动处理脚本加载顺序,让Web Forms服务端控件、UpdatePanel局部刷新逻辑可以正常调用Bootstrap能力,不需要开发者手动维护资源引用。 - 该包和Bootstrap版本强绑定,官方最后一次更新停留在2021年的4.6.0版本,最高仅支持Bootstrap 4.6.x版本,没有后续适配Bootstrap 5.x的计划。
Bootstrap 5.1.3 升级替换方案
- 第一步先清理旧依赖:通过NuGet包管理器或包管理控制台,卸载
AspNet.ScriptManager.bootstrap和旧版本bootstrap包,同时删除项目中残留的旧版Bootstrap资源引用。 - 安装新版本Bootstrap:搜索安装
bootstrap5.1.3版本,该版本会自动安装依赖的@popperjs/core包。 - 后续根据项目是否需要保留
ScriptManager/UpdatePanel能力选择配置方式:- 若需要继续使用ScriptManager做脚本托管、保留UpdatePanel局部刷新能力:打开全局母版页或用到ScriptManager的页面,在
ScriptManager的Scripts节点下手动添加脚本引用,注意popper的引用必须放在bootstrap之前,参考配置:
额外需要处理局部回发的组件初始化问题:在ScriptManager的<asp:ScriptManager ID="MainScriptManager" runat="server"> <Scripts> <asp:ScriptReference Path="~/Scripts/popper.min.js" /> <asp:ScriptReference Path="~/Scripts/bootstrap.min.js" /> </Scripts> </asp:ScriptManager>pageLoaded客户端事件中,重新初始化Tooltip、Popover、Modal等Bootstrap组件,避免UpdatePanel局部刷新后组件失效。 - 若不需要依赖ScriptManager的脚本托管能力:直接按照Bootstrap 5的标准用法,在母版页
<head>节点引入bootstrap.min.css文件,在页面底部</body>标签前按顺序引入popper.min.js、bootstrap.min.js即可,不需要再通过ScriptManager注册Bootstrap相关资源。
- 若需要继续使用ScriptManager做脚本托管、保留UpdatePanel局部刷新能力:打开全局母版页或用到ScriptManager的页面,在
注意:Bootstrap 5.x已完全移除jQuery依赖,升级后需要检查页面中原Bootstrap 4.x相关的组件调用代码,适配5.x版本的API变动。
内容的提问来源于stack exchange,提问作者jmoreno
相关产品推荐
相关产品推荐

