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

ASP.NET Core中Bootstrap下拉菜单无法正常工作的问题

ASP.NET Core中Bootstrap下拉菜单失效问题排查与解决

问题场景

在ASP.NET Core项目中使用Bootstrap官方文档的下拉菜单代码,仅能显示带箭头的按钮,但点击无任何下拉展开效果。已尝试安装Popper但无效,当前页面引用的样式和脚本如下:

页面头部样式引用:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - HellBotWebUI</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
    <link rel="stylesheet" href="~/HellBotWebUI.styles.css" asp-append-version="true" />
</head>

页面底部脚本引用:

<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>

使用的下拉菜单代码:

<li class="nav-item">
    <div class="dropdown">
        <button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
            Dropdown button
        </button>
        <div class="dropdown-menu">
            <a class="dropdown-item" href="#">Action</a>
            <a class="dropdown-item" href="#">Another action</a>
            <a class="dropdown-item" href="#">Something else here</a>
        </div>
   </div>
</li>

排查与解决步骤

  • 版本兼容性检查
    Bootstrap 5已移除对jQuery的依赖,若你使用的是Bootstrap 5版本,继续引用jQuery会引发冲突。bootstrap.bundle.min.js已经内置Popper,无需额外安装。确认版本后,若为v5+,直接移除jQuery引用即可。

  • 修正HTML属性命名
    Bootstrap 5将原Bootstrap 4的data-toggle属性更改为data-bs-toggle,这是最常见的失效原因。修改按钮的属性后,下拉功能即可恢复正常:

    <button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
        Dropdown button
    </button>
    
  • 验证脚本加载状态
    打开浏览器开发者工具(F12):

    • 查看控制台是否有JS报错,比如文件加载失败、未捕获的异常;
    • 切换到网络标签,确认bootstrap.bundle.min.js已成功加载,返回状态为200。
  • 检查依赖文件完整性
    确认~/lib/bootstrap目录下的CSS和JS文件完整,若存在缺失,重新运行npm install bootstrap命令重新安装依赖。

  • 排查自定义样式冲突
    检查site.css或HellBotWebUI.styles.css中是否有覆盖Bootstrap下拉菜单的样式规则,比如强制设置.dropdown-menu为display: none且未被JS正确触发,或者修改了元素定位属性导致下拉框无法正常显示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 10:55:15