路由约束
路由约束允许你限制路径模板中的参数匹配方式。一般语法是{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} $)} |