问题
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:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/2526534/when-to-use-a-routing-rule-vs-query-string-parameters-with-asp-net-mvc