Пример #1
0
        public static MvcHtmlString BuildNavigation(this HtmlHelper htmlHelper, IEnumerable <NavigationItem> navigationItems, bool bypassSecurity, object htmlAttributes = null)
        {
            var container = new TagBuilder("ul");

            container.ApplyHtmlAttributes(htmlAttributes);

            var innerHtmlBuilder = new StringBuilder();

            foreach (var item in navigationItems.Where(item => bypassSecurity || IsAuthorized(htmlHelper, item.RouteValueDictionary)))
            {
                innerHtmlBuilder.Append(
                    new TagBuilder("li")
                {
                    InnerHtml = htmlHelper.ActionLink(item).ToHtmlString(),
                });
            }
            container.InnerHtml = innerHtmlBuilder.ToString();
            return(new MvcHtmlString(container.ToString()));
        }