Как бы вы реализовали помощник по навигации в asp.net mvc?

StackOverflow https://stackoverflow.com/questions/66009

  •  09-06-2019
  •  | 
  •  

Вопрос

Я знаю, что, имея данные, вы могли бы легко создать помощника.Поэтому, если возможно, отправляйте только ответы, которые также включают получение данных.

Это было полезно?

Решение

Для этого мы используем фильтр действий.

...

    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

Другие советы

@Крис:что-то вроде этого:

        <% 
        foreach (var item in ViewData.Get<Breadcrumb[]>())
            {
        %>
                <a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> &raquo;
        <% 
            } 
        %>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top