SharePoint 页面和页面模型

本文对 SharePoint 页面模型进行了概述,包括页面类型、在 SharePoint 和 SharePoint Online 中可用的默认页面文件,以及页面处理方式的信息。

所呈现的 SharePoint 页面是三个页面类型的组合:

  • 母版页 - 控制内容的布局和外观

  • 内容页 - 包含页面字段控件

  • 用户友好的创作页面 - 用户在其中添加内容

术语和概念

表 1. 有关 SharePoint 页面模型的关键术语和概念

术语或概念 定义 访问方式 详细信息
协作网站 团队网站。
内容占位符 母版页中为那些将来能够以编程方式替换的控件或内容保留空间的条目。 所有 SharePoint 母版页 内容占位符是 SharePoint 母版页的构建基块。
母版页 标准化 SharePoint 页面左侧和顶部导航元素的行为和表现的页面。 SharePoint 文件系统母版页样式库
母版页样式库 SharePoint 中的特殊文档库,其中默认存储了所有品牌塑造元素(母版页、页面布局、JavaScript 文件、CSS 和图像)。 每个网站都有自己的母版页样式库。 设置 > 网站设置 > 母版页和页面布局 母版页样式库中包含存储品牌塑造资产(如母版页和 CSS 文件)的目录。

提示:创建自定义品牌元素时,将自定义资产存储在默认母版页库文件结构中。

SharePoint 中的母版页、母版页样式库和页面布局
最少下载策略 (MDS) 当用户从一个 SharePoint 页面导航到另一个页面时,能够减少浏览器必须下载的数据量的策略。 网站设置 当 MDS 处于活动状态时,SharePoint 会通过 /_layouts/15/start.aspx 传递所有页面请求,并检查新页面请求与以前加载的页面之间的视觉差异。

- 在 SharePoint 中优化页面性能
- 最少下载策略概述
导航 使用户能够在 SharePoint 网站的信息架构中来回移动的功能。 SharePoint 中的导航元素包括搜索、树控件、按钮、功能区、超链接、选项卡、菜单和分类。 - Navigation 类
- NavigationNode 类
Oslo 母版 SharePoint 中的默认母版页。 SharePoint 文件系统母版页样式库 与 seattle.master 母版页不同,当前导航与顶部导航区域位于同一位置。
页面内容控件 位于可在其中添加 Web 部件的发布网站上的控件。
页面布局 应用于发布页面的模板,可强制执行内容呈现的一致性。 SharePoint 文件系统母版页样式库 在 SharePoint 中创建页面布局
页面模型 在 SharePoint 页面中出现的文件、内容和交互同样会在浏览器中呈现给用户。 SharePoint 页面模型概述
发布页面 发布网站中的 .aspx 页面。 PublishingPage 类
发布网站 可以访问发布网站和页面的 SharePoint 网站,其中包括页面布局、分类、托管的导航,以及其他 Web 内容管理和企业内容管理功能。 - PublishingWeb 类
- SharePoint 网站开发的新增内容
Seattle.master SharePoint 中的默认母版页。 SharePoint 文件系统母版页样式库
团队网站 为用户协作处理文档、wiki、观点、过程等等而设计的网站。
文本布局 定义出现在 Wiki 网页上的内容区域。
文本布局控件 能够包含文本、图像、Web 部件和应用程序部件的 Wiki 网页控件。
首要网站 由服务器提供的默认的首要网站。 为 SharePoint 构建网站
Web 部件 运行在网站页面上下文中的服务器端控件。 SharePoint 应用中的自定义操作和属性包条目
Web 部件页面 内容页由 Web 部件区域组成,可包含 Web 部件。 在 Web 部件页面上,Web 部件由 WebPartDefinition 对象表示。 Microsoft.SharePoint.Client.WebParts 命名空间
Web 部件区域 可在其中添加 Web 部件的页面区域。
Wiki 网页 使用企业 Wiki 网站模板的内容页面。 Provisioning.Pages 示例应用

SharePoint 母版页

母版页是具有 .master 扩展名的 ASP.NET 文件。 它包含指令 <%@ Master ,并定义顶级 HTML 元素,如 HTMLHeadForm。 它首先列出控件和程序集,然后声明 DOCTYPE 的文档类型定义,这会告知浏览器如何呈现 HTML。 SharePoint 经过调整,可与 XHTML 1.0 和 HTML5 DOCTYPES 完美搭配。

SharePoint 默认情况下包括多个母版页面。 这些母版页提供给定 SharePoint 页面的默认结构和部件版式,适用于 SKU 和网站类型,特别适合用在页面的顶部和左侧。 表 2 列出了默认 SharePoint 和 SharePoint Online 母版页。

表 2. 默认 SharePoint 母版页

母版页 说明
Custom.master 系统页面,如窗体和视图。 供所有 SharePoint 和 SharePoint Online SKU 使用。
Default.master 发布网站中的网站页面。 包括在所有 SharePoint 和 SharePoint Online SKU 中。 发布功能处于激活状态时可用。
Application.master 某些系统页面,如 scope.aspx 和 keyword.aspx。 包括在所有 SharePoint 和 SharePoint Online SKU 中。
Minimal.master 所有 SharePoint SKU 中可用的默认母版页选项。
Seattle.master 所有 SharePoint 和 SharePoint Online SKU 中可用的默认母版页选项。
Oslo.master 所有 SharePoint 和 SharePoint Online SKU 中可用的默认母版页选项。
Kyoto.master 可在 SharePoint Online 中使用的母版页。
Berlin.master 可在 SharePoint Online 中使用的母版页。
Lyon.master 可在 SharePoint Online 中使用的母版页。
Mysite15.master OneDrive for Business 网站(之前为:我的网站、个人网站或 OneDrive Pro 网站)。

每个默认的 SharePoint 母版页中都包含常用网络编程技术(如 HTML、CSS 和 JavaScript)在 SharePoint 中执行操作所需的控件。

内容占位符会占据内容页面中定义的信息位置。 内容占位符与页面区域相对应。 母版页的每个区域由几个到数百个内容占位符定义。

SharePoint 母版页结合使用了 ASP.NET (<asp:) 和 SharePoint ( <SharePoint:) 声明。 声明中冒号后的文本定义控件的功能;例如,SharePoint:PlaceholderGlobalNavigation 将 SharePoint 页面的全局导航嵌入到该页面上的相关 HTML 标签中。 母版页上的内容控件将内容占位符绑定到带有 ContentPlaceHolderID 的内容。

SharePoint 提供两种类型的母版页:“系统母版页”和“网站母版页”。 系统母版页应用于 SharePoint 网站上的所有窗体页面和视图页面。 另一方面,网站母版页由发布网站上的所有网页使用。 可以通过打开 .master page 文件并查看 Page 指令来判断网站正在使用哪种类型的母 页。 系统母版页具有以下页面指令:~masterurl/default.master。 网站母版页具有以下页面指令:~masterurl/custom.master

你可以使用 CSOM 代码设置母版页属性,主要是通过编写针对 Web 对象的代码来实现。 使用 MasterUrl 属性更改系统母版页,使用对象的 CustomMasterUrl 属性更改网站母版页。

内容占位符通常包括动态令牌,这些令牌是构成 SharePoint 页面 URL 一部分的重要代码段。 SharePoint 根据协议(如 HTTP)规则分析 URL 字符串,这些协议定义了服务器与 SharePoint 页面之间超文本信息的传输方式。 通常情况下,指向 CSS 或主题控件的内容占位符使用相对 URL,这在 SharePoint 服务器端对象模型中以 ~SPUrl 表示。

SharePoint 使用动态令牌将母版页绑定到 .master 页面代码的 <asp:content> 声明中定义的内容页面。 表 3 列出了可在 SharePoint 母版页中找到的动态令牌,以及在处理页面时替换令牌的 CSOM 属性或 SharePoint 呈现内容占位符所采用的 URL 字符串形式。

表 3. 使用属性值替换的母版页中的动态令牌

动态令牌 替换为
~masterurl/default.master SPWeb.MasterUrl
~masterurl/custom.master SPWeb.CustomMasterUrl
~site/<xyz>.master <http:// siteColl>/<subsite1>/<subsite2>/<xyz.master>
~sitecollection/<abc>.master <http:// siteColl>/<abc.master>

注意

内容占位符中的动态令牌对应于服务器端 API 属性和方法。 使用远程预配时,请通过 CSOM 或 REST 编写代码。若要详细了解动态令牌和 SharePoint URL,请参阅 SharePoint 中的 URL 和令牌。 SharePoint 外接程序使用一些应用于网站 URL 的令牌。

Web 部件页和 Wiki 网页

Web 部件页可包含结构化和非结构化的信息。 它们由 Web 部件区域组成。 放置在 Web 部件区域中的 Web 部件可以显示列表、搜索结果和查询中的数据,并且可以呈现来自多个源中的数据的自定义视图。 Web 部件页包含的大部分元素与标准 SharePoint 团队网站的相同。 标题栏可包含标题、描述、说明、公司徽标或其他图像。 Web 部件页可添加下列元素:

  • 一个 Web 部件页菜单:可用于添加或修改 Web 部件、设计页面布局和在个人和共享视图之间进行切换。
  • 一个工具窗格:可用于查找和添加 Web 部件,编辑与 Web 部件和 Web 部件页相关的属性。

与 Web 部件页相比,Wiki 网页结构更少。 由于它们的半结构化到非结构化的形式,因此,可让用户更轻松地创建内容和相互协作。 默认情况下,SharePoint 会在你第一次查看新团队网站时显示 Wiki 网页。

企业 Wiki 功能包括在所有 SharePoint 版本中。 使用企业 Wiki 模板,可以使用 Wiki 网页创建和使用页面布局。 在编辑 Wiki 网页时,Web 部件、文本和其他内容会显示在文本布局中。 文本布局用于在 Wiki 网页上布置内容区域。

你可以使用远程预配模式来创建 Wiki 网页。 WikiPageCreationInformation 类提供了可用于创建 Wiki 网页的方法,同时 WikiHtmlContent 属性将在网页上获取和设置 HTML 内容。 Utility 类包括 CreateWikiPageInContextWeb 方法,SharePoint 通过使用 WikiPageCreationInformation 类中参数,可在客户端运行时上下文中创建 Wiki 网页。

页面布局

页面布局是发布网站的首选内容页面。 页面布局是 SharePoint 网站上通过自定义网页正文的结构来定义各种不同页面的模板,例如文章。 正如 Web 部件页是用于在网页上布置 Web 部件区域和 Web 部件一样,页面布局用于在网页上布置字段。 页面布局中定义的字段控件包含作者创建的内容,且内容的结构基于页面布局。

注意

页面布局可以包含 Web 部件区域。

设计人员可以将样式应用于页面字段控件。 这使设计人员可以控制 CSS 应用到每个字段的方式和呈现形式,也允许用户创建和管理每个页面字段中的内容。

在 SharePoint 中,内容类型是指可重用的元数据集合(也称为列),这些集合可用于定义特定项和文档。 例如,你可能想要创建一种内容,其外观和行为都是按照在线杂志文章的方式来表现的。 内容类型使你可以执行此操作。 你可能还想要创建其他唯一类型的内容,但想在其他内容类型中重复使用和共享某一种内容类型的特征。 每个页面布局都完全基于一种内容类型。 每个内容类型分配唯一一个 内容类型 ID

有关内容类型的详细信息,请参阅:

重要

目前,可以使用远程预配模式对 SharePiont 网站应用现成的页面布局。 虽然可在网站上通过 SharePoint 的自定义外接程序代码使用 CSOM 代码来设置自定义内容类型,并且 SharePoint Online 中支持通过 CSOM 设置自定义 ContentTypeId,但是目前尚不支持通过在本地 SharePoint 网站上进行远程设置来为自定义内容类型设置 ContentTypeId。 有关详细信息,请参阅在 SharePoint 中创建页面布局

SharePoint 页面处理模型

SharePoint 是一个基于模板的页面呈现系统,结合了母版页、内容页和要呈现页面的创作内容。 页面呈现系统称为页面处理模型。 母版页由其所应用的网站上所有页面实例使用,而内容页由基于该内容页的所有页面实例使用。

页面处理模型将解释并运行用户代理(如 Web 浏览器)对服务器提出的所有请求。 例如,考虑用户请求一个名为 contoso.aspx 的页面。 若要完成该请求,ASP.NET 引擎将检索两个页面:与 contoso.aspx 相关联的内容页,以及文件提供程序与 SharePoint 网站相关联的母版页。 该引擎还会从字段检索字段控件和 Web 部件,并在网页上进行呈现。

注意

团队网站和网站的页面处理逻辑与发布网页的逻辑类似。

页面处理

当 SharePoint 用户加载 Web 部件页时,SharePoint 通过解析其模板、页面内容和上下文的路径来获取它。 它还将设置与 Web 部件页相关联的 Web 部件,将 WebPartCollection 实例分配到网页,并为 Web 部件页及其 Web 部件填充内容。

当 SharePoint 用户加载 Wiki 网页(通过在团队网站或发布网站上使用企业 Wiki 模板)时,SharePoint 将通过解析其模板、页面内容和上下文的路径来获取它。 它还会设置与 Wiki 网页相关联的文本布局控件,并为企业 Wiki 网页及其文本布局填充内容。

若要详细了解如何使用远程预配模式来预配 Wiki 网页,请参阅 Provisioning.Pages 示例。

最小下载策略和 <AjaxDelta> 控件

In SharePoint, the minimal download strategy feature manages which specific content on a master page to refresh before the page renders. 启用策略后,与母版页上标记中 <SharePoint:AjaxDelta> 包装的内容占位符关联的内容在页面呈现之前会刷新。 Conversely, content placeholders not wrapped in <SharePoint:AjaxDelta> tags does not render when the minimal download strategy is enabled.

可通过中央网站管理或使用 SharePoint 客户端对象模型 (CSOM) 来启用或禁用最少下载策略。 可使用 EnableMinimalDownload 属性激活该功能。

有关详细信息,请参阅最少下载策略概述。 有关如何优化母版页以很好地使用最少下载策略的详细信息,请参阅修改 MDS 的 SharePoint 组件

最少下载策略功能在 SharePoint 团队网站上是默认启用的,而在 SharePoint 发布网站和在启用发布功能的 SharePoint 团队网站上是默认禁用的。

基于 seattle.master 创建自定义母版页

可以使用远程预配将网站品牌塑造元素(如主题)预配到网站,也可以使用 CSS 或 JavaScript 显示或隐藏元素或页面控件。 自定义母版页提供对页面结构的额外控制级别。 创建自定义母版页时,请勿编辑然后通过使用默认名称(例如,seattle.master)来保存默认母版页。 而是,请创建要修改的默认母版页的副本,并进行重命名保存。

重要

由于持续的支持成本和维护的潜在长期影响,我们建议不要更改新母版页的结构。 你可以对母版页进行有利于品牌塑造但不影响结构的更改,如更改页眉颜色、向页面的特定元素添加颜色背景,或者显示和隐藏网站徽标。 如果正在使用的默认母版页不包含你想要在页面上包含的结构元素(如页脚),则可使用其他现成的母版页。

为了帮助维护自定义母版页上的一致性,请遵循现有编码模式。 例如,在使用表格的页面区域中,通过使用表格强调编码模式。 在使用 <DIV> 标记或 HTML5 的区域内,请将任何自定义代码与 <DIV> 标记或 HTML5 进行匹配。 从长远来说,这会使你必须创建的任何自定义母版页更易于维护,进而成本也会更低。

另请参阅