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

ASP.NET中如何在Admin区域视图用ActionLink调用根控制器并移除Admin路径

解决Area视图中ActionLink生成带Area前缀的问题

在Admin Area的视图里调用根目录下的控制器时,Html.ActionLink会默认继承当前Area的路由上下文,所以才会带上/Admin前缀。要解决这个问题,只需要在路由参数里显式指定Area为空字符串,覆盖默认的Area值即可。

修改后的代码如下:

@Html.ActionLink("Back", "Directory", "DirectoryWebService", new { Area = "", ReturnUrl = Model.ReturnUrl }, new { @class = "common-button" })

原理说明

当视图位于/Areas/Admin/Views目录下时,ASP.NET MVC的路由系统会自动将当前Area(Admin)作为默认路由参数传递给ActionLink。通过手动设置Area = "",相当于告诉路由系统:不要使用当前Area,直接定位到根目录下的控制器,这样生成的链接就不会带有/Admin前缀了。

测试后生成的链接会是正确的:/DirectoryWebService/Directory?ReturnUrl=/Default/Traceability

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:25:20