I know you could make a helper pretty easily given the data. So, if possible, please only submit answers that also include getting the data.
Asked
Active
Viewed 1.3k times
2 Answers
12
We are using an action filter for this.
...
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = (Controller) filterContext.Controller;
Breadcrumb[] breadcrumbs = _breadcrumbManager.PushBreadcrumb(_breadcrumbLinkText);
controller.ViewData.Add(breadcrumbs);
}
before you mention it, I too have a distaste for service location in the filter attributes - but we are left with few options. IBreadcrumbManager looks like this:
public interface IBreadcrumbManager
{
Breadcrumb[] PushBreadcrumb(string linkText);
}
The implementation puts Breadcrumb objects into the Session. The Url is HttpContext.Current.Request.RawUrl

Matt Hinze
- 13,577
- 3
- 35
- 40
-
5Is the implementation of IBreadcrumbManager somewhere we can look at? Where does _breakcrumbLinkText come from? – flipdoubt Sep 25 '09 at 21:11
-
1could you show a more detailed example of this solution to breadcrumb helper? Do you have any test solution you could share maybe? I don't really get it with the interface _breadcrumbManager/IBreadcrumbManager .. – Webking Nov 29 '09 at 15:40
2
@Chris: something like this:
<%
foreach (var item in ViewData.Get<Breadcrumb[]>())
{
%>
<a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> »
<%
}
%>

Matt Hinze
- 13,577
- 3
- 35
- 40