路由約束

路由約束允許你限制路徑模板中的引數匹配方式。一般語法是{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} $)}