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

ASP.NET Core中新增Action无法被调用的问题求助

问题原因及解决办法

核心问题

你把[Area("dashboard")]特性标注在了Index Action方法上,而非控制器类本身。ASP.NET Core的区域路由要求区域特性必须应用在控制器级别,才能让整个控制器下的所有Action被区域路由正确识别。单独给Index添加特性,只会让该Action纳入区域路由,AddWeblog因未关联到目标区域,无法通过区域路由被访问。

修复步骤

修改控制器代码,将[Area("dashboard")]移至控制器类上:

using Microsoft.AspNetCore.Mvc;

namespace PresentationLayer.Areas.dashboard.Controllers
{
    [Area("dashboard")] // 移到控制器类定义处
    public class Weblog : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult AddWeblog()
        {
            return View();
        }
    }
}

额外验证项

  • 确认Program.cs中已配置区域路由规则,示例如下:
    app.MapControllerRoute(
        name: "areas",
        pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
    
  • 访问AddWeblog的正确URL应为/dashboard/Weblog/AddWeblog,检查请求地址是否符合
  • 确认AddWeblog.cshtml视图放置在Areas/dashboard/Views/Weblog/目录下

内容的提问来源于stack exchange,提问作者محمد مهدی الماسی

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 02:59:52