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; } }