mvc route问题 - 使用整数参数

rak*_*los 3 .net asp.net-mvc routing url-routing

我有一条这样的路线global.asax.cs:

        routes.MapRoute(
           "NewsArticles",
           "News/{page}",
           new { controller = "News", action = "Index", archive = false }
       );
Run Code Online (Sandbox Code Playgroud)

如何限制对此路由的访问,以便仅在用户使用整数时遇到?

Dar*_*rov 5

确保将此路线放在默认路线之前.您还可以使用正则表达式来限制可能的参数值:

routes.MapRoute(
    "NewsArticles",
    "News/{page}",
    new { controller = "News", action = "Index" },
    new { page = @"^\d{1,3}$" }
);
Run Code Online (Sandbox Code Playgroud)

备注:在您的例子,你正在使用archive = false,而没有archive在路由定义的参数.