wss如何将顶部导航栏作成下拉菜单

当子网站太多时,会在顶部导航栏排成一长排,很难看,这时候,做成下拉菜单的样子就好看的多了。

那么如何实现呢?在wss 3.0中是不能直接修改导航栏的选项的(moss似乎有,求证),所以需要我们写代码来实现。

zizi在网上查阅到的大部分资料都是修改母页版。找到网站集主页的default.master,用sharepoint designer打开 ,找到代码如下图:

 

      ID = " TopNavigationMenu "
      Runat
= " server "
      DataSourceID
= " topSiteMap "
      EnableViewState
= " false "
      AccessKey
= " <%$Resources:wss,navigation_accesskey%> "
      Orientation
= " Horizontal "
      StaticDisplayLevels
= " 1 "
      MaximumDynamicDisplayLevels
= " 2 "
      DynamicHorizontalOffset
= " 0 "
      StaticPopoutImageUrl
= " /_layouts/images/menudark.gif "
      StaticPopoutImageTextFormatString
= ""
      DynamicHoverStyle
- BackColor = " #CBE3F0 "
      SkipLinkText
= ""
      StaticSubMenuIndent
= " 0 "

 

 

 

看到 “StaticDisplayLevels” 和“ MaximumDynamicDisplayLevels” 这两个属性。通过查阅msdn,找到“StaticDisplayLevels”是静态菜单的菜单显示级别数,默认值为 1;“ MaximumDynamicDisplayLevels”是动态菜单的菜单呈现级别数,默认值为 3。关于这两个属性,给出msdn的链接,有详细说明。http://msdn2.microsoft.com/zh-cn/library/system.web.ui.webcontrols.menu.staticdisplaylevels(VS.80).aspx

http://msdn2.microsoft.com/zh-cn/library/system.web.ui.webcontrols.menu.maximumdynamicdisplaylevels(VS.80).aspx

似乎把这两个属性的值改一改,就可以实现下拉菜单。那么是不是就这么简单呢?

很明显,这就和有人莫明其妙请我吃午饭一样不可能(当然zizi把这两个的值改了无数次,无果)。

那么该怎么办呢?俗话说得好,内事不决问老婆,外事不决问google。汗......还没老婆呢,问google吧。

查了好久,终于找到了办法。

建立一个控制台应用程序,部分代码如下:

 

            SPSite site  =   new  SPSite( " site url " );
            SPWeb web 
=  site.OpenWeb();
            SPList list 
=  web.Lists[ 0 ];
            SPNavigationNode node 
=   null ;
            node 
=   new  SPNavigationNode( " title " " url " false );
            SPNavigationNode rootListLink 
=  web.Navigation.TopNavigationBar[ 0 ];
            rootListLink.Children.AddAsFirst(node);

 

编译,调试。

刷新我们的wss站点看一下,如何?好了,终于实现了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值