24
我知道你可以很容易地給一個幫手給予數據。所以,如果可能的話,請只提交也包括獲取數據的答案。你將如何在asp.net mvc中實現麪包屑助手?
我知道你可以很容易地給一個幫手給予數據。所以,如果可能的話,請只提交也包括獲取數據的答案。你將如何在asp.net mvc中實現麪包屑助手?
我們正在爲此使用動作過濾器。
...
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對象放入會話中。網址是HttpContext.Current.Request.RawUrl
@克里斯:是這樣的:
<%
foreach (var item in ViewData.Get<Breadcrumb[]>())
{
%>
<a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> »
<%
}
%>
是IBreadcrumbManager執行的地方,我們可以看看? _breakcrumbLinkText從哪裏來? – flipdoubt 2009-09-25 21:11:38