移动网页和重定向系统概述

上次修改时间: 2010年5月5日

适用范围: SharePoint Foundation 2010

本文内容
自动重定向到移动页
主页重定向
移动控件和适配器
列表、列表项和字段呈现
博客

Microsoft SharePoint Foundation 提供了一个体系结构,用以支持对 SharePoint 页和列表数据进行移动访问。移动设备用户可像桌面浏览器用户一样导航到同一 URL。移动设备会自动重定向到已针对移动设备进行优化的特定版本的页面。他们可从这里使用移动页页脚部分的导航链接在主页、所有内容("列表的列表")页、列表视图页和移动版自定义网页(包括 Web 部件页和启用 wiki 的网页)之间导航。此外,还有移动版的新建项目表单、编辑项目表单和显示项目表单。用户可以访问具有移动视图的任何列表。移动视图只是标记为额外用作移动列表视图的标准 SharePoint 列表视图。有关详细信息,请参阅移动视图

备注

您可以通过移动设备仿真程序访问移动页。有关设置仿真程序的信息,请参阅准备开发对 SharePoint 的移动设备访问。您还可通过普通的 Web 浏览器(例如 Internet Explorer)访问网站的移动页,具体方法是将"?Mobile=1"附加到该网页 URL 结尾。在以前的 SharePoint Foundation 版本中,是在网站 URL 结尾插入"/m"。为确保向后兼容性,现在仍可使用此方法,但必须先启用旧的移动重定向功能。(使用 SharePoint Management Shell cmdlet: Enable-SPFeature –identity "MobileRedirection" –URL https://Server/SiteURL 启用此功能。)相应地,您可以输入非移动页的 URL 并将"?Mobile=0"附加到该 URL 结尾,以此强制移动设备加载非移动页。

自动重定向到移动页

SharePoint Foundation 会检测移动设备发出的请求并将请求的非移动页的 URL 自动更改为其移动替代 URL。

备注

与移动页对应的非移动页称为移动页的"目标页"。

此检测过程在 HTTP 请求生命周期的 BeginRequest 事件中由 SPRequestModule 实现。您不能修改或替换 SPRequestModule,但可修改另一种重定向。有关详细信息,请参阅下面的 主页重定向一节。有关 SharePoint Foundation 中 SPRequestModule 和页面请求生命周期的详细信息,请参阅用作 ASP.NET 应用程序的 Microsoft SharePoint Foundation

主页重定向

与移动设备发出的所有请求一样,网站主页的请求会自动重定向到经过优化的特定版本的页面,以便使用移动设备查看。至少,这种情况会发生在请求的 URL 只包括网站 URL,而未指定特定页面(例如 http://MyServer/MySite)时,或者发生在 URL 指定的页面名称不是 default.aspx 页面的名称(例如 http://MyServer/MySite/HomePage.aspx)时。但是,如果 URL 将 default.aspx 明确指定为页面(例如 http://MyServer/MySite/default.aspx),则会调用开发人员可修改的特殊种类的重定向(称为"主页重定向")。BeginRequest 事件期间的初始重定向会将请求定向到位于 _layouts\Mobile 的特殊 default.aspx 页。不过,此文件不会实际呈现。其内容主要是将请求重新重定向到其他页面的控件。例如,如果请求的主页是博客网站,则重定向的第二个阶段将转到 _layouts\Mobile\bloghome.aspx 文件。如果主页是用于工作组网站、组工作网站或任何其他支持移动性的非博客网站类型,则请求会重定向到 _layouts\Mobile\mblwp.aspx。(如果移动设备浏览器使用 CHTML 或 WML,则即使是启用 wiki 的网页也会重定向到 _layouts\Mobile\mblwp.aspx,因为浏览器不能呈现格式文本。)重定向的第二个阶段可自定义:您可以替换自定义移动主页,该页面具有指向其他自定义移动页的链接。有关详细信息,请参阅如何:通过重定向自定义移动主页。如果是针对自定义 Web 模板主页的请求,则重定向行为由最终从中派生 Web 模板的网站定义决定。

如上所述,您可能有时需要通过将"?Mobile=1"附加到页面 URL 结尾,来强制计算机浏览器打开移动页。若要强制计算机浏览器调用主页重定向,请指定 default.aspx 作为页面名称,例如:

http://MyServer/MySite/default.aspx?Mobile=1

如果该网站已激活旧的移动重定向功能,则将

http://MyServer/MySite/m

添加到计算机或移动设备的浏览器中也可调用主页重定向。

基于 STS、SGS 或 BLOG 网站定义的任何网站均支持主页重定向。可以对自定义网站定义启用该功能。有关 SharePoint Foundation 中网站定义的详细信息,请参阅网站定义和配置WebTemp.xml

备注

基于 MPS、CENTRALADMIN、TENANTADMIN 或旧的 WIKI 网站定义的网站不支持移动访问。

移动控件和适配器

除了具有一组截然不同的用于移动访问的页面,SharePoint Foundation 还有一组完全独立的用于移动页的控件。与通常用在浏览器显示的网站页中的 Microsoft.SharePoint.WebControls 命名空间的服务器控件不同,移动页中使用的 Microsoft.SharePoint.MobileControls 命名空间的 SharePoint Foundation 移动控件从 System.Web.UI.MobileControls 命名空间的 Microsoft ASP.NET 控件继承。

移动页还具有大致重复 Web 部件在非移动 Web 部件页上的行为的控件。这些控件称为移动 Web 部件适配器,它们只能呈现在移动 Web 部件页 (mblwp.aspx) 上。

列表、列表项和字段呈现

在移动列表视图页和表单上呈现列表、列表项和字段的系统与在非移动页上的此类系统基本相同。主要区别在于,对长字段和列表中显示的项目数设置了呈现限制。过长的字段会被截断。超过限制的列表会进行分页。

列表架构

与非移动页上的 SharePoint 列表架构一样,移动页上的 SharePoint 列表架构也可确定列表的内容。列表架构确定呈现内容的一些方式如下:

  • 列表架构中的节确定移动列表视图中的排序顺序、筛选器以及视图字段。

  • 视图架构中的布尔属性指定视图是否为移动视图以及它是否为默认移动视图。

  • 表单架构中的字段顺序确定移动列表项表单页中的字段顺序。

  • 字段架构中的布尔属性确定某个给定字段显示在新表单、编辑表单或显示表单中,还是隐藏。

控件模板

SharePoint Foundation 移动功能使用呈现模板系统,该系统类似于为浏览器中所显示页实现的系统。%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES 目录中的 MobileDefaultTemplates.ascx 和 GbwMobileDefaultTemplates.ascx 文件包含移动页中使用的所有默认呈现模板定义。

警告注释警告

不支持修改 MobileDefaultTemplates.ascx 和 GbwMobileDefaultTemplates.ascx 文件的内容,否则会破坏 SharePoint Foundation 中的移动功能。

您可以通过在 \CONTROLTEMPLATES 文件夹中创建用户控件模板(.ascx 文件)来自定义任何移动页(例如主页、视图页、表单页等)呈现的方式。可根据网站类型、列表类型或字段类型来定义控件的特定呈现。

博客

SharePoint Foundation 支持移动博客创建,包括支持所有其他 SharePoint 移动功能,例如分页、列表字段自定义、移动视图自定义、移动主页重定向等。若要构建您自己的移动博客解决方案,可以按照与您自定义其他移动页和控件相似的方式来自定义 SharePoint 移动博客页和移动控件。