Domanda

So che potresti diventare un aiutante abbastanza facilmente visti i dati.Pertanto, se possibile, invia solo risposte che includano anche la raccolta dei dati.

È stato utile?

Soluzione

Stiamo utilizzando un filtro di azione per questo.

...

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

prima che tu lo dica, anch'io ho un disgusto per la posizione del servizio negli attributi del filtro, ma ci restano poche opzioni.IBreadcrumbManager si presenta così:

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

L'implementazione inserisce gli oggetti Breadcrumb nella Session.L'URL è HttpContext.Current.Request.RawUrl

Altri suggerimenti

@Chris:qualcosa come questo:

        <% 
        foreach (var item in ViewData.Get<Breadcrumb[]>())
            {
        %>
                <a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> &raquo;
        <% 
            } 
        %>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top