views:

58

answers:

1

I have a route like this in my global.asax.cs:

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

How can I restrict access to this route so that it's only encountered if the user uses an integer?

+2  A: 

Make sure you put this route before the default route. You could also use regular expressions to restrict possible parameter values:

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

Remark: In your example you are using archive = false while there is no archive parameter defined in the route.

Darin Dimitrov