Frage

Ich weiß, dass Sie einen Helfer machen könnten ziemlich leicht die Daten gegeben. Also, wenn möglich, bitte nur Antworten vorlegen, die auch die Daten enthalten, zu bekommen.

War es hilfreich?

Lösung

Wir verwenden einen Aktionsfilter für diese.

...

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var controller = (Controller) filterContext.Controller;
        Breadcrumb[] breadcrumbs = _breadcrumbManager.PushBreadcrumb(_breadcrumbLinkText);
        controller.ViewData.Add(breadcrumbs);
    }

, bevor Sie es erwähnen, ich habe auch eine Abneigung gegen den Service-Standort in dem Filterattribut - aber wir sind mit wenigen Optionen links. IBreadcrumbManager sieht wie folgt aus:

public interface IBreadcrumbManager
{
    Breadcrumb[] PushBreadcrumb(string linkText);
}

Die Implementierung setzt Brotkrumen Objekte in die Session. Die URL wird HttpContext.Current.Request.RawUrl

Andere Tipps

@ Chris: so etwas wie folgt aus:

        <% 
        foreach (var item in ViewData.Get<Breadcrumb[]>())
            {
        %>
                <a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> &raquo;
        <% 
            } 
        %>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top