SharePoint 页面类型

上次修改时间: 2010年2月12日

适用范围: SharePoint Foundation 2010

Microsoft SharePoint Foundation 中主要有两种类型的页面,分别是网站页面和应用程序页面。下面的主题将讨论这两种类型的页面之间的区别。应用程序页面和网站页面都从同一母版页继承其布局。有关母版页的信息,请参阅母版页

网站页面

网站页面是由最终用户创建、编辑和自定义的页面。它们主要用于网站中的内容。网站页面具有两种类型 - 标准页面和 Web 部件页。标准页面包含文本、图像、Web 部件及其他元素。Web 部件页包含 Web 部件区域中的 Web 部件。它们具有使用 Web 部件区域的预定义布局。这两种类型的网站页面都是使用 Web 浏览器或 Microsoft SharePoint Designer 进行编辑的。

网站页面是通过存储在前端 Web 服务器的文件系统上的模板页面设置的。在设置网站时,SharePoint Foundation 会创建指向文件系统上的页面模板实例的指针。这样,SharePoint Foundation 就可以避免重复创建每次创建网站时都要设置的页面的副本。

当用户自定义网站页面时,该页面的模板随后会存储在内容数据库中。每次用户请求该页面时,都会从内容数据库中检索它。不过,可以通过 Web 浏览器或 SharePoint Designer 之类的工具将自定义页面重置为原始模板页面。

自定义网站页面不能包含内嵌服务器代码。获准在页面上运行的控件集由 <驱动器>:\inetpub\wwwroot\wss\VirtualDirectories\<端口号>\web.config 文件中的安全控件列表控制。这是在开发网站定义时避免在网站页面上使用服务器端代码的一种推荐的最佳实践。如果用户稍后编辑或修改该页面,代码将不再运行。

下面是在网站页面上使用服务器端代码的一般规则。

  • 如果页面未经自定义,则该页面将支持服务器端代码。

  • 如果页面经过自定义,服务器端代码将不会运行,并且该页面将不会呈现。这包括页面本身的代码隐藏。

管理员可以在 web.config 文件中添加 PageParserPath 设置,以允许服务器端代码在存储在指定路径的页面上运行。这可以是单个特定页面,也可以是整个目录的页面。

安全注释安全注释

添加 PageParserPath 设置将使可将页面上载到指定文件夹的任何人都能将任意的完全信任代码写入服务器。管理员在提供这些设置时应格外小心,并了解此操作存在的安全隐患。

下面的示例演示使用通配符的 PageParserPath 设置。添加此 PageParserPath 将允许对母版页样式库具有权限的任何人上载服务器端代码。在添加此类型的 PageParserPath 设置时要格外小心。

<SharePoint>
   <SafeMode ...>
   <PageParserPaths>
      <PageParserPath VirtualPath="/_mpg/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true"/>
   </PageParserPaths>

应用程序页面

应用程序页面用于支持 SharePoint Foundation 中的应用程序实现。应用程序页面存储在前端 Web 服务器的文件系统上的 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS 目录中,并且 Web 应用程序中的每个网站都有应用程序页面。此文件夹映射到称为 _layouts 的 Internet Information Services (IIS) 虚拟目录中。每个网站和子网站将可以通过使用 _layouts 虚拟目录来访问应用程序页面。例如,http://myserver/_layouts/settings.aspx 和 http://myserver/subsite/_layouts/settings.aspx 访问前端 Web 服务器上的同一应用程序页面,这与网站页面不同,网站页面是指定网站的实例。

应用程序页面不存在与网站页面相同的限制。它们允许内嵌代码且不存在任何限制。不过,它们不能使用动态 Web 部件或 Web 部件区域,也不能使用 SharePoint Designer 进行修改。SharePoint Foundation 不支持修改默认应用程序页面。可以将自定义应用程序页面添加到 _layouts 文件夹内的子目录中。

请参阅

概念

母版页

应用程序页上的母版页