路由,路由中的可选文字?

时间:2017-09-13 12:42:55

标签: asp.net-mvc asp.net-core asp.net-core-mvc

我想要一条符合" /"," / Home"的路线和" / Home / Index"但不是" Home / Other"而不是" /其他"。

有没有比拥有三个路由表条目更好的方法?我想要一些像默认机制,但只适用于文字而不是参数。

有什么好主意吗?

1 个答案:

答案 0 :(得分:0)

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

此代码仅会捕获//Home/Home/Index路由。如果你只想避免捕捉"其他"在路线中然后将正则表达式替换为^(?!Other).*$