You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC中Bootstrap下拉菜单无法正常工作问题排查

ASP.NET MVC5 Bootstrap下拉菜单无响应问题解决

问题根源

你遇到的Popper__namespace.createPopper is not a function错误,本质是Bootstrap 5的下拉组件依赖Popper.js v2.x,但你的项目里要么没加载Popper,要么加载的版本不对,或者脚本加载顺序颠倒了。你的代码用了data-bs-toggle="dropdown",这是Bootstrap 5的属性,所以必须配套Bootstrap 5和对应的Popper v2。

具体解决方案

1. 统一脚本版本与加载顺序

在_Layout.cshtml的</body>标签之前,按以下顺序加载脚本(用CDN最稳妥,避免本地路径或版本冲突):

<!-- 先加载Popper.js v2.x -->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
<!-- 再加载Bootstrap 5.x的JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.min.js"></script>

注意:

  • 不要把Bootstrap脚本放在Popper前面,否则Bootstrap初始化时找不到Popper的方法。
  • 删掉之前手动添加的旧版本Bootstrap/Popper脚本,避免重复加载冲突。

2. 清理NuGet包冲突

如果你之前通过NuGet安装了Bootstrap,建议卸载它,改用CDN加载——NuGet的Bootstrap包可能自带旧版本Popper,或者路径配置容易出问题,新手用CDN更省心。

3. 确认HTML组件属性正确

你的下拉组件HTML代码没问题,data-bs-toggle="dropdown"是Bootstrap 5的正确属性,不要改成Bootstrap 4的data-toggle,否则也会失效。

4. 强制刷新浏览器缓存

有时候浏览器会缓存旧的脚本文件,按Ctrl+Shift+R强制刷新页面,确保加载的是最新的Popper和Bootstrap脚本。

验证方法

刷新页面后,打开Edge调试工具的控制台,如果没有之前的报错,点击下拉按钮就能正常显示菜单了。

内容的提问来源于stack exchange,提问作者tiago_laim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:07:22