2014-02-26 79 views
1

我在我的RouteConfig.cs文件中有两条路由。我不能够在同一时间运行两个等顶部的一个被执行:主页设置路由

routes.MapRoute(
     "ScNewsList", 
     "{controller}/{id}/{title}", 
     new { controller = "news", action = "SpecialCollectionList", id = UrlParameter.Optional, title = UrlParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "home", action = "Index", id = UrlParameter.Optional } 
     ); 

我如何获得两个运行规则:

http://localhost:53098/news/312/SpecialCollectionList 
http://localhost:53098/ 

第二个应该映射到主页?

回答

1

如果您的意思是始终让您的ScNewsList路线针对新闻控制器运行,那么您可以将网址更新为"news/{id}/{title}"

这样你的Default路线将成为所有在ScNewsList之外的路线。

0

可以通过路由手动设置新闻做这种方式

routes.MapRoute(
    "ScNewsList", 
    "news/{id}/{title}", 
    new { controller = "news", action = "SpecialCollectionList", id =  UrlParameter.Optional, title = UrlParameter.Optional } 
    ); 

    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "home", action = "Index", id = UrlParameter.Optional } 
    );