路由约束

路由约束允许你限制路径模板中的参数匹配方式。一般语法是{parameter:constraint}。例如:

// eg: /users/5
[Route(“users/{id:int}”]
public ActionResult GetUserById(int id) { … }
 
// eg: users/ken
[Route(“users/{name}”]
public ActionResult GetUserByName(string name) { … }

这里,只有在 URI 的 id 段是整数时才会选择第一个路径。否则,将选择第二条路线。

常量 描述(匹配:)
alpha 大写或小写拉丁字母字符(az, AZ) {x:alpha}
bool 布尔值。 {X:bool}
datetime DateTime 值。 {X:datetime}
decimal 十进制值。 {X:decimal}
double 64 位浮点值。 {X:double}
float 32 位浮点值。 {X:float}
guid GUID 值。 {X:guid}
int 32 位整数值。 {X:int}
length 具有指定长度或在指定长度范围内的字符串。 {X:length(6)} {X:length(1,20)}
long 64 位整数值。 {X:long}
max 具有最大值的整数。 {X:max(10)}
maxlength 具有最大长度的字符串。 {X:maxlength(10)}
min 具有最小值的整数。 {X:min(10)}
minlength 具有最小长度的字符串。 {X:minlength(10)}
range 一系列值内的整数。 {X:range(10,50)}
regex 正则表达式。 {X:regex(^ \ d {3} - \ d {3} - \ d {4} $)}