我知道你可以很容易地做一个帮手给出的数据。因此,如果可能,请只提交包括获取数据的答案。
解决方法
我们使用动作过滤器。
… …
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对象放入会话。 Url是HttpContext.Current.Request.RawUrl
