0

我正试图让一些路由工作,但我似乎在某个地方犯了一个错误并且看不到它。对我做错了什么的第二组眼睛或解释将不胜感激。

物理路径:

/Views/Reports/Awards/Index.cshtml

所需路线:/报告/奖项

我的第一次尝试是做一个经典的路线图(见注释代码),还注意到我确实打开了 routes.MapMvcAttributeRoutes():

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("wcf/{resource}.svc/{*pathInfo}");
        routes.IgnoreRoute("wcf/{resource}.svc");
        routes.MapMvcAttributeRoutes();
        // routes.MapRoute(
        //    name: "Reports",
        //    url: "Reports/{controller}/{action}/{id}",
        //    defaults: new { controller = "Awards", action = "Index", id = UrlParameter.Optional }
        //);
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

    }

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

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

    [Route]
    public ActionResult Index()
    {
}

如果我移动 Awards 文件夹的物理位置,一切似乎都正常。视图\奖项\Index.cshtml

那么物理路径中的断开连接吗?我真的应该实施领域吗?(我真的不想那样做)

谢谢,克里斯

4

0 回答 0