Beispiel #1
0
        //  Build level 2 sub-menu tag -------------------------------------------------------------------------------
        //
        //    <li>
        //        <a href = "#" > Dropdown </ a >
        //        <ul style="width:480px;">
        //            { Lever 3+ menu items }
        //        </ul>
        //    </li>
        //
        protected TagBuilder BuildLevel2SubMenuTag(NavMenuNode node)
        {
            var li = new TagBuilder("li");

            var a = new TagBuilder("a");

            a.MergeAttribute("href", "#");
            a.InnerHtml.Append(node.Title);
            li.InnerHtml.AppendHtml(a);

            var ul = new TagBuilder("ul");

            ul.MergeAttribute("style", "width:480px;");
            var list = nodes.Where(x => x.ParentId == node.Id).OrderBy(x => x.Order).ToList();

            foreach (var item in list)
            {
                if (item.HasChildren)
                {
                    ul.InnerHtml.AppendHtml(BuildLevel2SubMenuTag(item));
                }
                else
                {
                    ul.InnerHtml.AppendHtml(BuildMenuLinkTag(item));
                }
            }

            li.InnerHtml.AppendHtml(ul);
            return(li);
        }
Beispiel #2
0
        //  Build menu link tag -------------------------------------------------------------------------------
        //
        //  <li><a href="{Link}">{Title}</a></li>
        //
        protected TagBuilder BuildMenuLinkTag(NavMenuNode node)
        {
            var li = new TagBuilder("li");
            var a  = new TagBuilder("a");

            a.MergeAttribute("href", node.Link);
            a.InnerHtml.Append(node.Title);
            li.InnerHtml.AppendHtml(a);
            return(li);
        }
Beispiel #3
0
        //  Build level 1 sub-menu tag -------------------------------------------------------------------------------
        //
        //  <li>
        //     <a href="#" class="dropdown-toggle" data-toggle="dropdown">Title <b class="caret"></b></a>
        //     <ul class="dropdown-menu">
        //       { Level 2 menu items }
        //     </ul>
        //  </li>
        //
        protected TagBuilder BuildLevel1SubMenuTag(NavMenuNode node)
        {
            var li = new TagBuilder("li");

            var a = new TagBuilder("a");

            a.AddCssClass("dropdown-toggle");
            a.MergeAttribute("href", "#");
            a.MergeAttribute("data-toggle", "dropdown");
            a.InnerHtml.Append(node.Title);
            var b = new TagBuilder("b");

            b.AddCssClass("caret");
            a.InnerHtml.AppendHtml(b);
            li.InnerHtml.AppendHtml(a);

            var ul = new TagBuilder("ul");

            ul.AddCssClass("dropdown-menu");
            var list = nodes.Where(x => x.ParentId == node.Id).OrderBy(x => x.Order).ToList();

            foreach (var item in list)
            {
                if (item.HasChildren)
                {
                    ul.InnerHtml.AppendHtml(BuildLevel2SubMenuTag(item));
                }
                else
                {
                    ul.InnerHtml.AppendHtml(BuildMenuLinkTag(item));
                }
            }

            li.InnerHtml.AppendHtml(ul);
            return(li);
        }