views:

18

answers:

1

Hi All,

I want to add optional parameters in my routing table. For example I would like the users to browse a product catalog like this: http://www.domain.com/browse/by-category/electronics/1,2,3 etc

Now i've created a route like this:

            routes.MapPageRoute(
           "ProductsBrowse",
            "browse/{BrowseBy}/{Category}",
            "~/Pages/Products/Browse.aspx"
        );

Problem however is that when a user enters http://www.domain.com/browse , I would like them to present a different page where they can pick the manner on how to browse. So the parameters {BrowseBy} and {Category} will not be used.

Is there a way around this then to create seperate routes for each of the scenarios?

Thank you for your time! Kind regards, Mark

+1  A: 

I'd just create the separate route.

That said, you could define a custom RouteHandler that based on some convention you define, automatically send those special cases as if you had a different route.

Alternatively you could use the custom RouteHandler along with a convention, to avoid having to specify the specific page in your routes. That's the equivalent of what asp.net MVC does.

eglasius