這是一個更開放的問題。你對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已經涵蓋的基本的寧靜的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}/
這是否值得努力?
感謝,
「半打文本字段和兩個或複選框和選擇的三個列表相當簡單的搜索頁面。」 Google的搜索表單「非常簡單」。這個很複雜。在這種情況下,它可以產生一個複雜的URI。 – 2009-08-07 12:48:26