Comment implémenteriez-vous un assistant de navigation dans asp.net mvc?
-
09-06-2019 - |
Question
Je sais que vous pourriez faire une aide assez facilement avec les données. Donc, si possible, veuillez ne soumettre que des réponses incluant également l'obtention des données.
La solution
Nous utilisons un filtre d'action pour cela.
...
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = (Controller) filterContext.Controller;
Breadcrumb[] breadcrumbs = _breadcrumbManager.PushBreadcrumb(_breadcrumbLinkText);
controller.ViewData.Add(breadcrumbs);
}
avant que vous ne le mentionniez, les attributs de filtre me déplaisent également pour l'emplacement du service - mais il ne nous reste que peu d'options. IBreadcrumbManager se présente comme suit:
public interface IBreadcrumbManager
{
Breadcrumb[] PushBreadcrumb(string linkText);
}
L’implémentation place les objets Breadcrumb dans la session. L'URL est HttpContext.Current.Request.RawUrl
Autres conseils
@Chris: quelque chose comme ceci:
<%
foreach (var item in ViewData.Get<Breadcrumb[]>())
{
%>
<a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> »
<%
}
%>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow