我们正在考虑推进ASP.NET MVC项目,并讨论路由和参数的问题。何时使用路由规则vs使用asp.net查询字符串参数mvc
看到您如何轻松地在ASP.NET MVC中设置其中一个或两者的组合,有没有我在使用其中一个时应该注意的任何注意事项?
我们正在考虑推进ASP.NET MVC项目,并讨论路由和参数的问题。何时使用路由规则vs使用asp.net查询字符串参数mvc
看到您如何轻松地在ASP.NET MVC中设置其中一个或两者的组合,有没有我在使用其中一个时应该注意的任何注意事项?
我会建议保持您的URL尽可能干净,尽可能尝试和使用路由。您应该尝试制作RESTful URI,将信息传递给用户。例如:
www.yourdomain.com/Products/Sports/Clothing
比
www.yourdomain.com/Products?Department=Sports&SubDepartment=Clothing
清洁很多,如果你使用一吨的查询字符串的话,就不会是一个干净的URI和更少的信息传达给用户。
即便如此,我们的团队确实使用jQuery查询字符串进行ajax类型的请求。这是因为这些URI位于我们的标记中,并且不会在浏览器窗口中看到。这有助于保持global.asax的小一点,因为它不会受到大量路线的污染。
在我的项目中,我们只使用querystrings作为可选值。这主要是过滤,排序和分页列表。可选值在路线中很难处理。
在URL中维护查询字符串非常困难。使用ActionLink和其他路由感知帮助程序时不会呈现它们。
我能理解“可选值有困难的途径来处理”。你能对这句话更清楚吗? – Adrian 2015-01-30 11:20:19
网址将在路径中具有可选值。假设你有可选值“OrderBy”和“FilterBy”。在路径中看起来如何?也许像/ mycontroller/myaction/orderbyprice/filterbyisavailable。如果OrderBy不存在,您的路径将变为/ mycontroller/myaction/{值映射为null}/filterbyisavailable。它可以,如果你在路线的末尾有可选的值。 – 2015-01-30 13:38:56
整体的好建议。 – 2010-03-27 19:52:01