2014-01-26 403 views
0

我想改變的ASP MVCcontroller/action/id)的默認路由可以說更改默認網址上的ASP路由到REST風格一樣網址MVC

course-categories/view/1 to course-categories/1 
course-categories/edit/1 to course-categories/1/edit 

嘗試這一個

context.MapRoute(
       name: "ControlPanel.CourseCategory", 
       url: "controlpanel/course-categories/{id}/{action}", 
       defaults: new { controller = "CourseCategory", action = "View", id = UrlParameter.Optional }, 
       namespaces: new[] { "Website.Areas.ControlPanel.Controllers" } 
       ); 

課程類別/創建現在不能映射或課程類別/ {動作}

  • 是不是一個好主意,更改默認路由?
  • 我可以創建另一條路線來映射課程類別/ {動作}嗎?
  • 任何人都可以提出解決問題的路由。

回答

0

由於您將ID放入路由中,並將其設置爲可選,同時還爲該操作指定了默認值,因此我會對該ID施加約束以幫助避免路由衝突。

context.MapRoute( 
    ... 
    constraints: new { id = @"(\d)+" } 
);