ASP.NET MVC Core 5 _layout菜单项链接随子页变动如何固定指向Index
问题根因
你当前使用的uiactions="Index"不属于ASP.NET Core MVC锚点Tag Helper的官方有效属性,正确指定控制器操作方法的属性为asp-action。由于你没有显式设置asp-action参数,锚点Tag Helper会默认继承当前请求路由中的action值,所以进入Repairs/Detail页面时,生成的链接会自动复用当前的Detail作为操作方法值,最终导致链接路径错误。
修复代码
将uiactions="Index"替换为asp-action="Index"即可,修改后的_layout.cshtml代码如下:
<a class="nav-link text-dark" asp-area="" asp-controller="Repairs" asp-action="Index">Repairs</a>
效果验证
修改后Tag Helper会强制指定操作方法为Index,无论当前处于哪个路由页面,生成的导航链接都会固定指向Repairs控制器的Index方法,始终加载Index.cshtml视图。
内容的提问来源于stack exchange,提问作者erict
相关产品推荐
相关产品推荐

