路线的强度约束?

时间:2010-10-04 07:38:22

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

我计划在url中使用2char语言,例如something.com/EN,/ ES,/ US。是否可以为路线添加2char约束?

/ M

1 个答案:

答案 0 :(得分:2)

是的,你可以通过routeconstraints来做到这一点。 constaints可以传递给global.asax中的Maproutes方法。如果你有一个可以由正则表达式处理的约束,你可以像

一样编写它
routes.MapRoute(
              "strict",
              "{controller}.mvc/{docid}/{action}/{id}",
              new {docid = "",action = "Index", id = ""},
              new { docid = @"\d+"}

            );

其中正则表达式模式告诉docid应该是数字以匹配此路由。 但是你可以编写你自己的实现IRouteConstraint接口的类,该类的对象可以作为ur路由的路由约束

看一看如何实现IRouteConstraint

ASP.NET MVC2 Parent Controller Not Redirecting