我正在使用mvc3和RavenDB。我有一個過濾器菜單中,用戶可以使用面搜索縮小 他們的搜索,如下所述: http://ravendb.net/docs/client-api/advanced/faceted-searchRavenDB分面搜索和創建mvc3中的麪包屑/過濾網址
我喜歡這個URL模式:/filter/{manufacturer}/{resolution}/{zoom}
例如:/filter/canon/6
意味着列表中的所有相機 一個製造商的佳能6百萬像素(以及所有變焦範圍)。
我有這個工作,但我遇到了生成網址的麻煩。這將只有 工作,如果facet值可以安全地使用在一個URL例如。用短劃線和小寫全部替換所有&符號, 空格等。這意味着我在我的過濾器菜單鏈接和麪包屑中輸入'醜陋'的名字結束了 。
有沒有辦法讓友方名稱向用戶顯示方面值? 這樣我就可以像這樣創建URL:
<a href="/filter/canon/">Canon USA (12)</a>
<a href="/filter/canon/6/">6 megapixels (5)</a>
一個解決方案,我能想到的是存儲過濾器作爲文件 ,只是搜索方面值檢索其顯示名稱。
過濾文檔可以是這樣的:
var filter = new Filter
{
DisplayName = "Manufacturer" ,
Slug = "manufacturer" ,
Items = new List<FilterItem>
{
new FilterItem() { DisplayName = "Canon USA" , Slug = "canon" } ,
new FilterItem() { DisplayName = "Photo's & more" , Slug = "photos-and-more" }
}
} ;
你用什麼來實現麪包屑菜單? ASP.NET MVC SiteMap提供程序?我感興趣,因爲我找不到任何樣本...... –
我沒有使用站點地圖提供程序。因爲我的路線大多是線性/可預測的,所以我在我的控制器中生成一個URL列表,這些URL由佈局文件中的局部視圖呈現。當用戶跳轉到產品頁面時,我通過tempdata傳遞當前的麪包屑路徑,因爲不同的路徑可能會導致產品頁面相同。 – Keesjan