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

Bootstrap下拉菜单失效及ASP.NET MVC路由跳转异常求助

解决你的Bootstrap下拉菜单和ASP.NET MVC Url.Action问题

先帮你拆解两个核心问题:下拉菜单无法正常触发,以及Url.Action生成链接异常的问题。

一、Bootstrap下拉菜单失效的常见排查点

Bootstrap的下拉组件完全依赖jQuery和Bootstrap自身的JavaScript文件,如果没正确引入,点击按钮后菜单肯定不会展开。你需要确认页面里按顺序引入了这些资源:

  • 先引入jQuery(注意版本兼容:Bootstrap 3对应jQuery 1.9+,Bootstrap 4对应jQuery 3.0+)
  • 再引入Bootstrap的JS文件

另外检查你的HTML结构细节:

  • 按钮的data-toggle="dropdown"属性有没有拼写错误
  • .dropdown-menu必须是.dropdown的直接子元素,你的结构看起来没问题,但可以排查下有没有其他自定义CSS/JS干扰了下拉事件(比如阻止了点击冒泡)

二、修复Url.Action的链接生成错误

你的代码里@Url.Action的语法有明显错误,导致无法生成正确的路由链接:
原错误写法:

<li><a href="@Url.Action(\"LiveDetails\", \"Live\", new {id})")">Details</a></li>

这里有两个问题:

  1. 多余的闭合引号:new {id})")末尾多了一组"),属于语法错误
  2. 要确保id变量在当前视图中是可用的(比如是ViewBag传递的值、模型属性,或者视图里定义的变量)

修正后的正确写法示例:

<!-- 如果id是视图里的直接变量 -->
<li><a href="@Url.Action("LiveDetails", "Live", new { id = id })">Details</a></li>

<!-- 如果id是模型的属性,比如Model.Id -->
<li><a href="@Url.Action("LiveDetails", "Live", new { id = Model.Id })">Details</a></li>

这样就能生成类似/Live/LiveDetails/123的完整路由链接了(123是你的实际id值)。

额外调试小技巧

  • 打开浏览器开发者工具(F12),切换到Console标签,看看有没有JS报错——这能快速定位下拉菜单不工作的根源
  • 查看Elements标签里生成的a标签,确认href属性是否已正确渲染,方便排查路由问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:36:24