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

ASP.NET MVC 5中@Html.ActionLink无法跳转至目标页面的问题

问题排查与解决

你遇到的404错误核心原因及修复方案如下:

  • 修正ActionLink的控制器参数
    控制器类名为MyController,但在@Html.ActionLink和@Url.Action中,控制器名称需要去掉Controller后缀,正确写法如下:

    @Html.ActionLink("Reviews", "MyActionStuff", "My", null, null)
    

    对应的Url.Action正确写法:

    @Url.Action("MyActionStuff", "My")
    

    你之前写的"MyController"会让路由系统去寻找不存在的MyControllerController,直接导致404。

  • 修复控制器代码的语法错误
    控制器方法里嵌套调用View()属于语法错误,修正后代码如下:

    public class MyController : Controller
    {
        public ActionResult MyActionStuff() 
        {
            // 确保myModel已正确实例化
            return View("~/Views/Shared/MyViewFolder/MyView.cshtml", myModel);
        }
    }
    

    这个错误虽不会直接导致控制器方法不触发,但会影响后续视图返回。

  • 额外排查点

    • 检查路由配置:确认RouteConfig.cs(或Startup.cs中的路由配置)使用默认规则{controller}/{action}/{id},没有自定义路由拦截My/MyActionStuff的请求。
    • 确认控制器命名空间:确保MyController在项目默认的Controllers命名空间下,或路由配置已包含其所在的自定义命名空间。
    • 确认Action权限:MyActionStuff必须是public修饰(你的代码已满足),私有或受保护的Action无法被外部请求触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:24:59