/// <summary>
 /// Get the full list of URL currently in the breadcrumb. Index 0 being the farthest page.
 /// </summary>
 /// <returns>The full list of URL currently in the breadcrumb</returns>
 public static IEnumerable <string> GetOrderedUrls()
 {
     return(StateManager.GetState(SessionProvider.SessionId).Crumbs.Select(s => s.Url));
 }
 /// <summary>
 /// Get the currently active URL from the BreadCrumb
 /// </summary>
 /// <returns>The currently active URL from the BreadCrumb</returns>
 public static string GetCurrentUrl()
 {
     return(StateManager.GetState(SessionProvider.SessionId).Current.Url);
 }
        public static void SetLabel(string label)
        {
            var state = StateManager.GetState(SessionProvider.SessionId);

            state.Current.Label = label;
        }
 public static void Clear()
 {
     StateManager.RemoveState(SessionProvider.SessionId);
 }
 /// <summary>
 /// Get the full list of <see cref="RedirectResult"/> currently in the breadcrumb. Index 0 being the farthest page.
 /// </summary>
 /// <returns>The full list of <see cref="RedirectResult"/> currently in the breadcrumb</returns>
 public static IEnumerable <RedirectResult> GetOrderedRedirections()
 {
     return(StateManager.GetState(SessionProvider.SessionId).Crumbs.Select(s => new RedirectResult(s.Url)));
 }