MOSS中的导航知识

获取快速启动:

SPNavigationNodeCollection nodes = site.Navigation.QuickLaunch;

Spd中添加xml数据源控件,设置XPath属性/*/*,更改aspmenu控件的datasourceid属性为xml数据源控件,修改显示相关属性,添加<DataBindings><asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" /></DataBindins>

MOSS中所有导航栏都是通过ASP:Menu控件或是ASP:TreeView控件绑定到一个NavigationDataSource实现的,因此每一个导航菜单都有两个控件共同实现。首先是一个ASP:Menu控件定义导航栏的样式和层级属性,其次是有一个 asp:SiteMapDataSourceSPNavigationProvider来作为导航栏的数据源。

<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource">
  
<Template_Controls>
   
<asp:SiteMapDataSource
     
ShowStartingNode="False"
     SiteMapProvider
="SPNavigationProvider"
     id
="topSiteMap"
     runat
="server"
     StartingNodeUrl
="sid:1002"/>
  
</Template_Controls>
 
</SharePoint:DelegateControl>

自己定义一个asp:menu控件也可以自定义导航

<asp:Menu DataSourceID="DemoXmlDataSource" ID="DemoCustomMenu" runat="server" 
BackColor
="#F1F1F1" DynamicHorizontalOffset="2" Font-Names="Verdana" ForeColor="#990000" 
StaticSubMenuIndent
="0" Orientation="Vertical" StaticDisplayLevels="2" ItemWrap="true" 
MaximumDynamicDisplayLevels
="0"> 
<DataBindings> 
<asp:MenuItemBinding DataMember="siteMapNode" NavigateUrlField="url" 
TextField
="title" ToolTipField="description" ValueField="title" /> 
</DataBindings> 
</asp:Menu> 
<asp:XmlDataSource DataFile="sitemap.xml" ID="DemoXmlDataSource" runat="server" XPath="/*/*"></asp:XmlDataSource> 

添加导航栏

                SPSite site = new SPSite(siteurl);
                SPWeb web = site.OpenWeb();

                SPList list = web.Lists["取件客服受理"];
                string listtitle = list.Title;          //
列表名称
                string listurl = list.DefaultViewUrl;   //
列表URL

                #region    添加一级导航栏
                SPNavigationNodeCollection navigationnode = web.Navigation.QuickLaunch;
                SPNavigationNode menuItem = new SPNavigationNode(listtitle, listurl, true);
                navigationnode.AddAsLast(menuItem);              
                #endregion

                #region   添加二级导航栏
                SPNavigationNode menuItem1 = new SPNavigationNode(listtitle, listurl, true);
                navigationnode[1].Children.AddAsLast(menuItem1);
                #endregion

                web.Update();

 删除导航栏

                int menuItemId = 0;
                SPNavigationNode menuItem = navigationnode.Navigation.GetNodeById(menuItemId);
                navigationnode.Delete(menuItem);

                int menuItemId = 0;
               navigationnode.Delete(navigationnode[0]);

(未完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值