zoukankan      html  css  js  c++  java
  • 使用SPD自定义MOSS导航

    MOSS自带导航仅支持2级导航,而碰到一个需求要做成3 级导航,就只能自定义了 ,请先看修改后的页面


    开始动手拉 
    第一步创建 XML 文件
    <?xml version="1.0" encoding="gb2312" ?>
    <menu>
      <menuItem url="~/Default.aspx" title="简介"  description=""/>
      <menuItem url="~/News.aspx" title="新闻"  description="">
        <menuItem url="~/News.aspx" title="国内新闻"  description=""/>
        <menuItem url="~/News.aspx" title="国际新闻"  description="">
          <menuItem url="~/News.aspx" title="亚洲新闻"  description=""/>
          <menuItem url="~/News.aspx" title="欧洲新闻"  description=""/>
        </menuItem>     
      </menuItem>
    </menu>       

    第二步  上传 XML文件到需要自定义的网站


    第三步  使用SPD添加XML数据源  



    浏览到刚才上传的XML,点确定,添加数据源

    第四步   插入 数据源 控件 
    打开 默认母板页 ,在左边导航 空白处 ,插入 XML数据源控件 




    第五步 修改 XML数据源 XPATH 路径
    在刚才插入的XML 数据源控件上右击选择属性,修改XPATH 路径为 /*/*


    第六部  修改 左边导航控件 ASPMENU 部分代码
    在母板页代码中,找到左边导航 控件 代码  做 如下修改,
    1 修改datasourceID属性为上文插入的XML数据源ID
    2 插入 <DataBindings>   </DataBindings>  属性节
    3 注意 StaticDisplayLevels   MaximumDynamicDisplayLevels    这2个属性设置


    <SharePoint:AspMenu ID="CurrentNav" runat="server" datasourceID="SPXmlDataSource1" orientation="Vertical"
                                                    StaticDisplayLevels="1" MaximumDynamicDisplayLevels="3" StaticSubMenuIndent="1" ItemWrap="true" AccessKey="3" CssClass="leftNav" SkipLinkText="<%$Resources:cms,masterpages_skiplinktext%>">
                                                            <LevelMenuItemStyles>
                                                                    <asp:MenuItemStyle CssClass="leftNav1" />
                                                                    <asp:MenuItemStyle CssClass="leftNav2" />
                                                                    <asp:MenuItemStyle CssClass="leftNav3" />
                                                            </LevelMenuItemStyles>
                                                            <DataBindings> 
                                    <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" /> 
                                    <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" /> 
                                   <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" />
                               </DataBindings>
                                                            <StaticHoverStyle CssClass="leftNavHover"/>
                                                            <StaticSelectedStyle CssClass="leftNavSelected"/>
                                                            <DynamicMenuStyle CssClass="leftNavFlyOuts" />
                                                            <DynamicMenuItemStyle CssClass="leftNavFlyOutsItem"/>
                                                            <DynamicHoverStyle CssClass="leftNavFlyOutsHover"/>
                                                    </SharePoint:AspMenu>

    第八步 SPD中切换到,设计视图 ,就能看到  导航已经被修改.

    总结: 
         导航实际为一个 ASP.NET控件 MENU ,大家可以去查查有关此控件详细信息
        除了左边导航,顶部的全局导航,也可以同样方法定制,也可以为导航控件 绑定 其他的数据源.
         另,如果什么问题,欢迎大家指正 

     

    原文地址:http://bbs.winos.cn/thread-40199-1-1.html

  • 相关阅读:
    覆盖一个DIV,让radio、checkbox和select只读
    DNN 配置 数据库篇
    Javascript实用语句收录
    绑定Hashtable到DataList
    WebDeploymentSetup 合并程序集时出错(ILMerge.Merge: ERROR)
    只能向页面中添加 ScriptManager 的一个实例
    让DNN添加的别名起作用
    360极速模式(Chrome内核)下由ashx输出的JavaScript代码不起作用
    C#中常用到的时间函数(天数差、星期几等)
    C#实用语句
  • 原文地址:https://www.cnblogs.com/poissonnotes/p/1787315.html
Copyright © 2011-2022 走看看