public override void OnResultExecuting(ResultExecutingContext filterContext) { var viewResult = filterContext.Result as ViewResult; var controller = filterContext.Controller as ErrorditeController; if (controller == null || viewResult == null) { return; } var breadcrumbs = Breadcrumbs.GetBreadcrumbsForRoute(_breadcrumbId, controller.Url); if (breadcrumbs != null) { if (_overrideBreadcrumbId.HasValue && _cookieKey.IsNotNullOrEmpty()) { var value = controller.CookieManager.Get(_cookieKey); if (value.IsNotNullOrEmpty()) { var overriddenCrumbs = breadcrumbs.Select(breadcrumb => breadcrumb.Id == _overrideBreadcrumbId.Value ? new Breadcrumb(breadcrumb.Id, breadcrumb.Link + value, breadcrumb.Title) : breadcrumb).ToList(); viewResult.ViewData.SetBreadcrumbs(overriddenCrumbs); } else { viewResult.ViewData.SetBreadcrumbs(breadcrumbs); } } else { controller.ViewData.SetBreadcrumbs(breadcrumbs); } } }