2017-09-13 120 views
1

我想要一條匹配「/」,「/ Home」和「/ Home/Index」但不是「Home/Other」而不是「/ Other」的路線。路由,路由中的可選文字?

有沒有更好的方法比有三個路由表條目?我想要的東西像默認機制,但只適用於文字而不是參數。

任何好主意?

回答

0
routes.MapRoute(
      name: "default", 
      template: "{controller:regex(^(Home)$)}/{action:regex(^(Index)$)}", 
      defaults: new { controller = "Home", action = "Index" }); 

這個代碼將只捕獲//Home/Home/Index路線。如果你只想避免在路由中捕捉「其他」,然後將正則表達式替換爲^(?!Other).*$

+0

我認爲可能有更好的方法,但正則表達式很好,我猜。 –