这更像是一个悬而未决的问题。您对 URL 中的查询字符串有何看法?在 ASP.NET MVC 中创建站点时,您会花费大量时间来考虑和制作干净的 URL,以便在您第一次必须使用查询字符串时破坏它们,尤其是在搜索表单上。
例如,我最近做了一个相当简单的搜索表单,其中包含六个文本字段和两三个复选框和选择列表。这在提交时产生了下面的查询字符串
countrylcid=2057&State=England&StateId=46&Where=&DateFrom=&DateTo=&Tags=&Keywords=&Types
=1&Types=0&Types=2&Types=3&Types=4&Types=5&Costs=0.0-9.99&Costs=10.00-29.99&Costs=30.00-59.99&Costs=60.00-10000.00
美丽,我想你会同意的。一半的字段中没有信息,列表输入确实非常冗长。
不久前,我为此实现了一个简单的分页解决方案,它产生了一个 url,例如
www.yourdomain.com/browse/filter-on/page-1/perpage-50/
这使用了一条包罗万象的路线来在过滤部分之后抓取本质上是替换查询字符串。工作得很好,但在提交表单时会崩溃。
我很想听听人们提出了哪些其他解决方案?有很多关于干净 url 的文章,但都是针对 asp.net 开发人员创建 MVC 涵盖的基本 restful url。我正在考虑深入研究模型绑定,以根据这些思路生成适当的解决方案。使用上述约定,大查询字符串可以重写为:
filter-on/countrylcid-2057/state-England/stateId-46/types-{1,0,2,3,4,5}/costs-{0.0-9.99,10.00-29.99,30.00-59.99,60.00-10000.00}/
这值得努力吗?
谢谢,