在我的解决方案中,我在根级别有一个控制器,视图文件夹,每个文件夹都有一个主文件夹,带有带有索引方法的家庭控制器和带有索引视图的视图文件夹(默认MVC设置)。在根级别我引入了一个区域文件夹,然后在这里我创建了该区域的另一个文件夹,然后是控制器和视图的文件夹。带索引方法的家庭控制器和带索引视图的视图文件夹。 这一切都很好,但我收到以下错误:
AmbiguousActionException:匹配多个动作。以下操作匹配路由数据并满足所有约束:
VisualJobs.Controllers.HomeController.Index(VisualJobs) VisualJobs.Areas.Recruiter.Controllers.HomeController.Index (VisualJobs)VisualJobs.Areas.Jobs.Controllers.HomeController.Index (VisualJobs)
在我的配置文件中我有:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
文件夹结构:
Areas -->Candidate-->Controllers
Shared
ViewModels
Views
Areas -->Recruiter-->Controllers
Shared
ViewModels
Views
Controllers
Views
答案 0 :(得分:0)
可能是因为您没有使用Area属性修饰区域控制器类。这样的事情。
[Area("Recruiter")]
public class MyController : Controller
{
...
}
您所在地区的Views文件夹中还需要_ViewImports.cshtml和_ViewStart.cshtml。