ASP.NET Core 6中Area功能失效及路由访问问题求助
问题解决方案
一、修复return View()无法识别视图的问题
- 核对视图路径:确保
Index.cshtml文件位于对应目录下。如果EmpList是区域,视图应放在Areas/EmpList/Views/EmployeeData/;如果不是区域,放在Views/EmployeeData/。 - 显式指定视图路径:若视图不在默认位置,在Action中明确指定路径,示例代码:
// 非区域场景 return View("~/Views/EmployeeData/Index.cshtml"); // 区域场景 return View("~/Areas/EmpList/Views/EmployeeData/Index.cshtml"); - 检查控制器合法性:确认控制器类名为
EmployeeDataController,继承自Controller,且Index方法为public访问权限。
二、实现访问localhost:7082直接显示Index页面
修改项目的路由配置,将默认路由指向目标Action:
ASP.NET Core MVC(Program.cs)
app.MapControllerRoute( name: "default", pattern: "{controller=EmployeeData}/{action=Index}/{id?}", defaults: new { area = "EmpList" } // 若EmpList是区域则添加此参数 );
传统ASP.NET MVC(RouteConfig.cs)
routes.MapRoute( name: "default", url: "{controller}/{action}/{id}", defaults: new { controller = "EmployeeData", action = "Index", id = UrlParameter.Optional, area = "EmpList" } // 区域场景添加area参数 );
若项目未使用区域,删除配置中的area相关项即可。
内容的提问来源于stack exchange,提问作者hasan mehedi
相关产品推荐
相关产品推荐

