如何:自定义导航
上次修改时间: 2011年3月11日
适用范围: SharePoint Server 2010
大多数网站使用某种形式的自定义用户界面 (UI) 向用户提供如何在网站中更加轻松地导航的直观提示,并可查找用户所需的信息。尽管外观(或品牌)因网站而异,但通常都具有相同的基本导航元素,如导航栏和菜单,用户可以选择这些导航栏和菜单公开的选项导航到子网站或页面。
本系列主题描述 Microsoft SharePoint Server 2010 导航的工作方式以及通过编程方式和 UI 对其进行自定义的一些方法,其中包括:
使用提供程序和数据源 API 自定义垂直和水平菜单的结构和行为。
了解"导航设置"UI 选项并使用它们来设置网站导航层次结构。
将 SharePoint Server 2010 中包含的默认导航提供程序替换成您自己的自定义提供程序。
为网站配置多个导航提供程序。
导航基础
为了便于构建有效的导航元素(如水平和垂直菜单以及痕迹导航),SharePoint Server 2010 利用了 ASP.NET 可插入导航,即Provider model。提供程序模型将提供程序定义为一个在服务和数据库之间提供统一接口的软件模块。提供程序提取存储媒体的方法与设备驱动程序提取物理硬件设备信息的方法相同,通过使用提供程序,您几乎可以在任何地方存储状态数据。例如,通过开发自定义提供程序,您可以在各种外部数据提供程序(例如前端 Web 服务、XML 文件和数据库)中存储状态数据。SharePoint Server 2010 导航 API 包括一个站点地图提供程序(用于提取站点地图数据)和一个数据源对象(用于映射和筛选提供程序的导航结构和数据以便在导航 UI Web 控件中呈现)。提供程序和数据源 API 包括您可以获取并设置的属性,通过使用这些属性,可以启用灵活的动态选项来自定义您的站点。
SharePoint Server 2010 导航以网站为中心,这意味着网站集中的每个网站都可以确定应用程序显示站点层次结构中站点下的每个导航项的方式:一直向下到下一个站点。因此,每个站点都有一些可以通过 UI 或以编程方式设置的导航选项。
您可以通过提前确定希望要创建的网站和页面所拥有的层次结构,来创建所需的导航。您可以使用可通过"网站操作"菜单到达的"导航设置"页对层次结构进行微调,也可以使用 SharePoint Server 2010 中的"网站设置"页。
默认导航系统基于网站层次结构,站点导航基于通过 UI 或以编程方式所做的选择来进行。可以设置的选项包括是否在导航中显示子网站和页面、是手动还是自动对导航项进行排序以及如何处理单个排序并显示单个导航项的属性和行为。
当您定义垂直和水平菜单时,您可以部署具有一个或多个静态或动态菜单级别的导航区:
静态菜单项代表层次结构级别,通常对它们进行了超链接。您可以在顶级导航项(根)下创建其他级别的静态和动态菜单项。
SharePoint Server 2010 基于网站结构创建动态飞出的菜单选项。网站层次结构定义了导航菜单中的级别。
网站可以具有任意数目的静态级别和动态级别。
根据设计,导航控件将检测它们在网站结构中的位置,并使用一种复杂的方法来确定从数据存储中返回节点的顺序。对导航项排序时,SharePoint Server 2010 首先从数据存储中返回节点,然后对导航项进行排序。
请参阅
引用
Microsoft.SharePoint.Publishing.Navigation
Microsoft.SharePoint.Navigation
其他资源
How to: Work with Menus and Navigation Objects
How to: Customize Navigation Controls and Providers
Best Practices: Using Disposable Windows SharePoint Services Objects