Asp.net mvc MVC路由与属性路由

Asp.net mvc MVC路由与属性路由,asp.net-mvc,asp.net-mvc-5,routeattribute,Asp.net Mvc,Asp.net Mvc 5,Routeattribute,我试图找到一些工作路线,但我似乎在某个地方犯了一个错误,看不到它。如果能再看一眼或解释一下我做错了什么,我将不胜感激 物理路径: /视图/报告/奖励/索引.cshtml 所需路线: /报告/奖项 我的第一次尝试是制作一个经典的路线图(请参阅注释代码),并注意我确实打开了routes.MapMvcAttributeRoutes(): “传统”路线图不起作用,那是当我偶然发现属性路由并决定试一试时。以下是控制器的外观: [RoutePrefix("Reports/Awards")] public c

我试图找到一些工作路线,但我似乎在某个地方犯了一个错误,看不到它。如果能再看一眼或解释一下我做错了什么,我将不胜感激

物理路径:

/视图/报告/奖励/索引.cshtml

所需路线: /报告/奖项

我的第一次尝试是制作一个经典的路线图(请参阅注释代码),并注意我确实打开了routes.MapMvcAttributeRoutes():

“传统”路线图不起作用,那是当我偶然发现属性路由并决定试一试时。以下是控制器的外观:

[RoutePrefix("Reports/Awards")]
public class AwardsController : Controller 
{

    [Route]
    public ActionResult Index()
    {
}
如果我移动奖励文件夹的物理位置,一切似乎都正常。 Views\Awards\Index.cshtml

物理路径中的断开也是如此吗?我真的应该实施这些领域吗?(我真的不想那样做)

谢谢,
Chris

即使使用属性路由,约定也会使用控制器和操作名称来生成搜索视图的路径。一旦使用了默认的
返回视图()
,框架将在
Views\Awards\Index.cshtml
上查找上述操作。我以为是这样的,谢谢。
[RoutePrefix(“Reports”)]
[route(“Awards”)]
中的索引操作方法似乎适用于位于
/Views/Awards/
中的视图。如果要使用
/Views/Reports/Awards/
,可能需要使用所需路径设置
ViewEngineLocationFormats
的定义。
[RoutePrefix("Reports/Awards")]
public class AwardsController : Controller 
{

    [Route]
    public ActionResult Index()
    {
}