コード例 #1
0
 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;
     }
 }
コード例 #2
0
        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;
        }
コード例 #3
0
 public static MvcHtmlString MenuItem(this HtmlHelper htmlHelper, MenuItem menuItem)
 {
     StringBuilder sb = new StringBuilder();
     sb = MenuItem(htmlHelper, menuItem, sb);
     return MvcHtmlString.Create(sb.ToString());
 }