有这个默认路由:
routes.MapRoute(
name: "Default", // Route name
url: "{controller}/{action}/{id}", // URL with parameters
defaults: new { controller = "Application", action = "Index", id = 0 }, // Parameter defaults
constraints: new {id = @"\d+"}
);
约束工作正常,但 id 是控制器上的 int。因此,如果我通过/Controller/Action/2147483648
的是一个有效的 \d+ 正则表达式,但它不是一个有效的Int32
,那么它会返回一个 500 服务器错误,我希望它进行限制,以便它返回一个404
.
如何进行约束,使其仅允许有效的正 int 值?哪些来自0 to 2,147,483,647
?