我知道你可以很容易地根据数据做出帮助.因此,如果可能,请仅提交包含获取数据的答案.
我们正在使用动作过滤器.
...
public override void OnActionExecuting(ActionExecutingContext filterContext) { var controller = (Controller) filterContext.Controller; Breadcrumb[] breadcrumbs = _breadcrumbManager.PushBreadcrumb(_breadcrumbLinkText); controller.ViewData.Add(breadcrumbs); }
在你提到它之前,我也对过滤器属性中的服务位置感到厌恶 - 但我们只剩下几个选项.IBreadcrumbManager看起来像这样:
public interface IBreadcrumbManager { Breadcrumb[] PushBreadcrumb(string linkText); }
该实现将Breadcrumb对象放入Session中.网址是HttpContext.Current.Request.RawUrl