2013-08-23 7 views
5

Ich versuche, ein Paniermehl zu erstellen, die vom Benutzer besuchten Seiten enthält, wie das Beispiel:Brotkrumen-Pfad in asp.net MVC

Haus -> Produkte -> Smartphones -> .....

Weiß jemand, wie man das in asp.net mvc 3 mit Rasiermesseransichtmaschine tut? Oder wo kann ich ein gutes Tutorial finden?

+1

Verwendung mvc Sitemap .. http: // Gemeinschaft. composite.net/Blog/2011/01/24/Rendering-html-for-navigation-verwenden-MVC-3-Razor – Neha

Antwort

4

Es gibt ein Open-Source-Projekt namens MvcSiteMapProvider, zu dem ich beigetragen habe, das macht es ziemlich einfach. Das Projekt ist in NuGet verfügbar.

Im Grunde konfigurieren Sie eine Sitemap mit all Ihren Seiten. Die Sitemap kann in XML, Code oder aus einer anderen Datenquelle konfiguriert werden. Die Sitemap wird dann zwischen Benutzern zwischengespeichert und freigegeben. Wenn ein Benutzer zu einer URL navigiert, die in der Sitemap (entweder als URL oder als Verzeichnis der Routenwerte) konfiguriert ist, verwendet er die relative Position in der Karte, um zu bestimmen, wie Breadcrumbs auf der Startseite erstellt werden.

Es gibt einen Gang durch die Installation und seine Funktionen mit sich hier: MvcSiteMapProvider 4.0 - A Test Drive

1

Haben Sie MvcBreadCrumbs die Open-Source-Lösung gesehen? Es gibt ein paar Möglichkeiten, dies mit diesem Nuget-Paket zu erreichen. Sie können wie diese Attribute auf Controller-Methoden verwenden:

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

oder optional einen statischen Methodenaufruf hinzufügen, das Etikett zu überschreiben, wenn es Daten abhängig:

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