Custom Sharepoint 2010 Menu

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

Custom Sharepoint 2010 MenuCustom Sharepoint 2010 Menu

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

    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;

        }

    }

你可能感兴趣的:(SharePoint)