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

控制器方法使用[Route("")]报错,与学校示例运行结果不符

解决控制器方法[Route]特性无效的问题

问题原因

你遇到的错误源于两个核心问题:

  • 控制器类未继承ASP.NET MVC/WebAPI的控制器基类(Controller或ControllerBase),框架无法识别类内方法为可路由的Action
  • 错误引用了Blazor的命名空间(Microsoft.AspNetCore.Components),ASP.NET路由特性实际归属Microsoft.AspNetCore.Mvc命名空间

修正方案

按以下步骤调整代码:

  1. 替换命名空间引用,移除Blazor相关命名空间,添加MVC命名空间
  2. 让控制器继承Controller(MVC场景)或ControllerBase(WebAPI场景)

修正后的代码

using Microsoft.AspNetCore.Mvc;

namespace HelloCoreEmpty.Controllers
{
    [Route("about")]
    public class AboutController : Controller
    {
        [Route("")]
        public string Phone()
        {
            return "Test";
        }
    }
}

补充说明

  • 继承基类后,框架会将类中的公共方法识别为Action,此时方法上的[Route]特性才能正常生效
  • 若为WebAPI项目,继承ControllerBase即可,无需Controller包含的视图相关功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:36:03