2014-02-26 133 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 } 
    );