Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

...

    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 в Session. Url HttpContext.Current.Request.RawUrl

Ответ 2

@Chris: что-то вроде этого:

        <% 
        foreach (var item in ViewData.Get<Breadcrumb[]>())
            {
        %>
                <a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> &raquo;
        <% 
            } 
        %>