private static string generateUrl(MenuItem menuItem) { if (string.IsNullOrEmpty(menuItem.DirectUrl)) { return CommonHelper.GetUrlHelper().Action(menuItem.ActionName, menuItem.ControllerName, menuItem.HtmlAttributes); } else { string root = CommonHelper.GetUrlHelper().Content("~/"); return root + menuItem.DirectUrl; } }
public static StringBuilder MenuItem(HtmlHelper htmlHelper, MenuItem menuItem, StringBuilder sb) { if (menuItem != null) { sb.Append("<li"); if (menuItem.IsDivider) { sb.Append(" class=\"divider\">"); } else if (menuItem.SubMenuItems != null && menuItem.SubMenuItems.Count > 0) { sb.Append(" class=\"dropdown\">"); //Dropdown menü başlığının da link olması istenirse <a> tag'i şu şekilde değiştirilmeli: //<a href=\"{0}\"{1} class=\"dropdown-toggle\" data-name=\"hyperlink\"> sb.Append(string.Format("<a href=\"{0}\"{1} class=\"dropdown-toggle\" data-toggle=\"dropdown\">{2} <b class=\"caret\"></b></a>", generateUrl(menuItem), menuItem.OpenInNewWindow == true ? " target=\"_blank\"" : "", menuItem.ToString())); } else { sb.Append(">"); sb.Append(string.Format("<a href=\"{0}\"{1}>{2}</a>", generateUrl(menuItem), menuItem.OpenInNewWindow == true ? " target=\"_blank\"" : "", menuItem.ToString())); } if (menuItem.SubMenuItems != null && menuItem.SubMenuItems.Count > 0) { sb.Append("<ul class=\"dropdown-menu\">"); foreach (var subMenuItem in menuItem.SubMenuItems) { MenuItem(htmlHelper, subMenuItem, sb); } sb.Append("</ul>"); } sb.Append("</li>"); } return sb; }
public static MvcHtmlString MenuItem(this HtmlHelper htmlHelper, MenuItem menuItem) { StringBuilder sb = new StringBuilder(); sb = MenuItem(htmlHelper, menuItem, sb); return MvcHtmlString.Create(sb.ToString()); }