views:

61

answers:

2

We're considering moving forward with a ASP.NET MVC project and the subject of routing versus parameters came up.

Seeing as how you can easily set up either or a combination of both in ASP.NET MVC, are there any considerations that I should be aware of when using one or the other?

+1  A: 

At my project we only use querystrings for optional values. Thats mostly filtering, sorting and paging lists. Optional values are difficult to handle in a route.

Its much harder to maintain a querystring in the URL. They are not rendered when using ActionLink and other routing aware helpers.

Malcolm Frexner
+2  A: 

I would recommend keeping your URL's as clean as possible and to try and use routes whenever possible. You should try and make RESTful URI's that will convey information to the user. For example:

www.yourdomain.com/Products/Sports/Clothing

is a lot cleaner than

www.yourdomain.com/Products?Department=Sports&SubDepartment=Clothing 

If you use a ton of query strings then it won't be a clean URI and less information is conveyed to the user.

With that said, our team does use query strings for ajax type requests using jquery. This is because these URI's are in our markup and won't be seen in the browser window. This has helped keep our global.asax a little smaller since it won't get polluted with a ton of routes.

amurra
Good advice overall.
Robert Harvey