2014-01-26 201 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)+" } 
);