上次修改时间: 2011年3月3日
适用范围: SharePoint Foundation 2010
本文内容
应用程序页面和网站页面
母版页和内容页
移动网页
本主题指出在 Microsoft ASP.NET 3.5 中进行网页开发与在 Microsoft SharePoint Foundation 中进行网页开发之间最重要的差别。
应用程序页面和网站页面
在网页中,SharePoint Foundation 可区分出在 ASP.NET 中未知的网页。首先,SharePoint Foundation 将网页划分为两大类:应用程序页面 和网站页面。这两种类型的页面在开发过程中存在显著差异。
应用程序页面
应用程序页面与传统的 Microsoft ASP.NET 3.5 网页最为相似。但是,应用程序页面并非直接派生自System.Web.UI.Page,而是派生自 LayoutsPageBase 或 UnsecuredLayoutsPageBase。
在 SharePoint Foundation 服务器的文件系统中,应用程序页面存储在 SharePoint Foundation Web 应用程序的虚拟目录中,可从该 Web 应用程序中的每个网站访问该虚拟目录。因此,可在 Web 应用程序的各网站之间共享应用程序页面。
开发人员必须了解的最关键差别是应用程序页面不在安全模式下运行,并且可能包含内嵌代码。由于只有场管理员可以安装应用程序页面,因此可能出现这种放松安全警惕的情况。
一般来说,与网站页面相比,SharePoint Foundation 中的应用程序页面通常包含的服务器控件较多,信息性内容较少。
网站页面
网站页面通常是面向内容的。例如,欢迎页面、主页和列表视图页面都是网站页面。但是,网站页面的功能性较强,且包含交互性 Web 控件和 Web 部件。
最终用户可以创建网站页面并将其添加到 SharePoint Foundation 网站中。因此,对可在网站页面中运行的代码具有严格限制。特别需要指出的是,网站页面在安全模式下运行。这意味着网站页面中将只呈现注册为安全控件的控件。严格地说,网站页面可以包含内嵌代码,但仅在编译页面后,此类代码才会起作用。默认情况下,有些页面可能设置为不编译。而且,使用 SharePoint Foundation 的另一个突出优势是可以自定义其网站页面。自定义页面时,不再编译该页面,并且页面内的内嵌代码也不再起作用。因此,建议您不要在网站页面中包含内嵌代码("内嵌代码"是指在服务器上运行的嵌入式代码。在客户端上运行的 ECMAScript(JavaScript、JScript) 可用于任何类型的页面。)网站页面分为两类:
标准页面:这些页面是启用 wiki 的页面,可以包含 Web 控件和内嵌 Web 部件。标准页面派生自 WikiEditPage 类,而不直接派生自 System.Web.UI.Page。
Web 部件页面:顾名思义,它们是包含 Web 部件区域的 Web 部件页面。SharePoint Foundation Web 部件页派生自 WebPartPage,而不直接派生自 System.Web.UI.Page。
有关 SharePoint Foundation 中自定义页面开发的详细信息,请参阅构建基块:网页和用户界面和此 SDK 的网站和网页节点。
母版页和内容页
SharePoint Foundation 充分利用了 ASP.NET 的母版页技术。应用程序页面和网站页面都是引用母版页的内容页(该链接可能指向英文页面)。有关在 SharePoint Foundation 中使用母版页的详细信息,请参阅此 SDK 的母版页节点。
移动网页
SharePoint Foundation 移动网页比非移动网页简单得多。移动网页不使用 ASP.NET 母版页/内容页技术,也不划分为应用程序页面和网站页面。SharePoint Foundation 移动网页都是应用程序页面,且位于 \_layouts\Mobile 文件夹中。SharePoint Foundation 移动网页在某个方面特别类似网站页面:如果页面包含移动的 Web 部件适配器,则必须将该适配器注册为安全控件,否则将不呈现该适配器。有关开发移动网页的详细信息,请参阅此 SDK 的移动网页和重定向系统概述节点。