public IEnumerable<MvcSiteMapNode> GetBreadcrumb(ViewContext context)
{
String area = context.RouteData.Values["area"] as String;
String action = context.RouteData.Values["action"] as String;
String controller = context.RouteData.Values["controller"] as String;
MvcSiteMapNode currentNode = NodeList.SingleOrDefault(node =>
String.Equals(node.Area, area, StringComparison.OrdinalIgnoreCase) &&
String.Equals(node.Action, action, StringComparison.OrdinalIgnoreCase) &&
String.Equals(node.Controller, controller, StringComparison.OrdinalIgnoreCase));
List<MvcSiteMapNode> breadcrumb = new List<MvcSiteMapNode>();
while (currentNode != null)
{
breadcrumb.Insert(0, new MvcSiteMapNode
{
IconClass = currentNode.IconClass,
Controller = currentNode.Controller,
Action = currentNode.Action,
Area = currentNode.Area
});
currentNode = currentNode.Parent;
}
return breadcrumb;
}