MvcTemplate.Components.Mvc.MvcSiteMapProvider.GetBreadcrumb C# (CSharp) Method

GetBreadcrumb() public method

public GetBreadcrumb ( System.Web.Mvc.ViewContext context ) : IEnumerable
context System.Web.Mvc.ViewContext
return IEnumerable
        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;
        }