Asp.net MVC电影项目中Dropdown下拉按钮无法弹出问题求助
解决ASP.NET MVC中Bootstrap下拉菜单无法弹出的问题
你的下拉菜单无法弹出的核心原因是Bootstrap版本的属性命名差异:你引入的是Bootstrap 5的bootstrap.bundle.min.js,但代码里用了Bootstrap 4的旧属性名,Bootstrap 5已将交互类属性统一添加bs前缀。
具体修改步骤:
- 针对下拉按钮:
将下拉触发按钮的data-toggle="dropdown"修改为data-bs-toggle="dropdown" - 针对导航栏折叠按钮:
同步修改导航栏折叠按钮的data-toggle="collapse"为data-bs-toggle="collapse",data-target=".navbar-collapse"为data-bs-target=".navbar-collapse"
修改后的关键代码片段:
<!-- 导航栏折叠按钮修改后 --> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <!-- 下拉菜单按钮修改后 --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="badge-info bi-gear"></i> Management </a> <ul class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" asp-controller="Cinemas" asp-action="Index"><i class="bi bi-camera-reels"></i> Cinemas</a> <a class="dropdown-item" asp-controller="Producers" asp-action="Index"><i class="bi bi-headset"></i> Producers</a> <a class="dropdown-item" asp-controller="Actors" asp-action="Index"><i class="bi bi-person-square"></i> Actors</a> </ul> </li>
修改后重新运行项目,下拉菜单就能正常弹出了。
内容的提问来源于stack exchange,提问作者MarcosJMontero
相关产品推荐
相关产品推荐

