24

データがあれば、非常に簡単にヘルパーを作成できることはわかっています。そのため、可能であれば、データの取得も含む回答のみを送信してください。

4

2 に答える 2

12

これにはアクションフィルターを使用しています。

...

    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

于 2008-09-15T22:32:19.060 に答える
2

@クリス:このようなもの:

        <% 
        foreach (var item in ViewData.Get<Breadcrumb[]>())
            {
        %>
                <a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> &raquo;
        <% 
            } 
        %>
于 2008-09-21T04:56:12.877 に答える