2013-08-23 9 views
5

Próbuję utworzyć bułkę tartą, które zawiera strony oglądany przez użytkownika, jak przykładowo:Tworzenie bułką tartą ścieżki w ASP.NET MVC

dom -> Produkty -> Smartfony -> .....

Czy ktoś wie, jak to zrobić w asp.net mvc 3 z silnikiem widoku brzytwa? Albo gdzie mogę znaleźć dobry samouczek?

+1

użycie mvc sitemap .. http: // społeczność. composite.net/Blog/2011/01/24/Rendering-html-for-navigation-using-MVC-3-Razor – Neha

Odpowiedz

4

Istnieje projekt o otwartym kodzie źródłowym pod nazwą MvcSiteMapProvider, do którego przyczyniłem się, co sprawia, że ​​jest to dość łatwe. Projekt jest dostępny na NuGet.

Zasadniczo konfigurujesz mapę witryny ze wszystkimi swoimi stronami. Mapa witryny może być skonfigurowana w XML, kodzie lub z innego źródła danych. Mapa witryny jest następnie buforowana i udostępniana użytkownikom. Gdy użytkownik przechodzi do adresu URL skonfigurowanego w mapie witryny (w postaci adresu URL lub słownika wartości trasy), użyje względnej pozycji na mapie, aby określić, w jaki sposób utworzyć bułki tartaczne z powrotem na swoją stronę główną.

Jest przechodni instalowania i korzystania z jego możliwości tutaj: MvcSiteMapProvider 4.0 - A Test Drive

1

Widzieliście rozwiązania open-source MvcBreadCrumbs? Można to zrobić na kilka sposobów dzięki temu pakietowi Nuget. Można użyć atrybuty dotyczące metod kontrolera tak:

[BreadCrumb(Label="Widget")] 
public ActionResult ... 

lub ewentualnie dodać statyczny wywołanie metody aby zastąpić etykietę jeśli to dane zależne:

[BreadCrumb(Label="Widget")] 
public ActionResult Get(int id) 
{ 
    [make db call] 
    BreadCrumb.SetLabel(db.ItemDescription); 
    return view(dbModel); 
}