Custom Sharepoint 2010 Menu

参考Custom-built Top Navigation Menu for SharePoint 2010这编文章

主要注意的是以下控件的代码

    public partial class SmoothNavMenu : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SiteMapNode rootNode = GetSiteMapNodeOfCurrentWeb();
            menuContentLiteral.Text = BuildMenuContent(rootNode);
        }

        private string BuildMenuContent(SiteMapNode rootNode)
        {
            string script = "<ul>";
            foreach (SiteMapNode node in rootNode.ChildNodes)
            {
                if (node.ChildNodes.Count > 0)
                {
                    script = script + string.Format("<li><a href=\"#\">{0}</a>", node.Title);
                    script = script + BuildMenuContent(node);
                    script = script + "</li>";
                }
                else
                    script = script + string.Format("<li><a href=\"{0}\">{1}</a></li>", node.Url, node.Title);
            }
            script = script + "</ul>";
            return script;
        }

        private SiteMapNode GetSiteMapNodeOfCurrentWeb()
        {
            SiteMapProvider smpr = PortalSiteMapProvider.CombinedNavSiteMapProvider;
            SiteMapNode rootNode = smpr.RootNode;
            return rootNode;
        }
    }
posted @ 2011-07-12 14:37  双眼皮的猪  阅读(381)  评论(0编辑  收藏  举报