Create breadcrumbs Path in asp.net MVC
Asked Answered
N

2

5

I'm trying to create a breadcrumbs that includes pages viewed by user, like the example:

Home -> Products -> Smartphones -> .....

Does anyone know how to do that in asp.net mvc 3 with razor view engine ? Or where i can find a good tutorial ?

Nildanile answered 23/8, 2013 at 12:19 Comment(1)
use mvc sitemap.. community.composite.net/Blog/2011/01/24/…Valois
D
4

There is an open source project called MvcSiteMapProvider that I have been contributing to that makes this fairly easy. The project is available on NuGet.

Basically, you configure an sitemap with all of your pages. The sitemap can be configured in XML, code, or from another data source. The sitemap is then cached and shared between users. When a user navigates to a URL that is configured in the sitemap (either as a URL or as a dictionary of route values), it will use the relative position in the map to determine how to build breadcrumbs back to your home page.

There is a walk-through of installing and using its features here: MvcSiteMapProvider 4.0 - A Test Drive

Debatable answered 23/8, 2013 at 17:45 Comment(0)
N
2

Have you seen the open-source solution MvcBreadCrumbs? There's a couple of ways to accomplish it with this Nuget package. You can use attributes on controller methods like this:

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

or optionally add a static method call to override the label if it's data dependent:

[BreadCrumb(Label="Widget")]
public ActionResult Get(int id)
{
    [make db call]
    BreadCrumb.SetLabel(db.ItemDescription);
    return view(dbModel);
}
Navarro answered 16/10, 2015 at 12:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.