我正试图让一些路由工作,但我似乎在某个地方犯了一个错误并且看不到它。对我做错了什么的第二组眼睛或解释将不胜感激。
物理路径:
/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
那么物理路径中的断开连接吗?我真的应该实施领域吗?(我真的不想那样做)
谢谢,克里斯