上次修改时间: 2011年2月2日
适用范围: SharePoint Foundation 2010
本主题概述用于在移动设备上呈现 Web 部件的 SharePoint Foundation 适配器框架。
SharePoint Foundation 的移动适配
利用 Microsoft ASP.NET 3.5 的各种移动适配器系统,开发人员可在移动设备可访问的 SharePoint Foundation 网站上制作 Web 部件页。SharePoint Foundation 中的移动适配系统基本相同:
在请求某 Web 部件页时,Web 前端服务器可从请求标头中检测到是哪种设备发出请求。
如果是移动设备发出请求,则 ASP.NET 会在 compat.browser 文件的请求页上查阅每个 Web 部件,以查看哪个移动适配器(如果有)与之关联。
对于每个事件,调用 Init、Load、PreRender 和 UnLoad();如果 Web 部件有移动适配器,则调用针对该事件的适配器处理程序,而不是调用此 Web 部件自己的处理程序,即使此适配器的处理程序通常会调用此 Web 部件的处理程序作为其部分逻辑,也是如此。
在 SharePoint Foundation 中,四个事件的适配器处理程序的实现会查看当前页是否为 WebPartMobilePage 对象。如果是,则运行库会调用相应的 On*ForMobile 方法:OnLoadForMobile(EventArgs)、OnInitForMobile(EventArgs)、OnPreRenderForMobile(EventArgs) 或 OnUnloadForMobile(EventArgs)。
有关 Microsoft ASP.NET 3.5 移动适配系统的详细信息,请参阅Architectural Overview of Adaptive Control Behavior、Browser Definition File Schema (browsers Element)和 System.Web.UI.Adapters.ControlAdapter。
SharePoint Foundation 移动适配框架编程
相对于 Microsoft ASP.NET 3.5 移动适配系统,SharePoint Foundation 的移动适配器框架开发起来确实更简单一些。与使用 Microsoft ASP.NET 3.5 系统一样,您可以为每个需要由移动设备访问的 Web 部件创建一个移动适配器控件,您可将该适配器映射到适合在 compat.browser 文件中呈现的 Web 部件。
但是,使用 SharePoint Foundation 框架进行开发与使用 Microsoft ASP.NET 3.5 进行移动适配器开发有一些方面的不同。在很大程度上来说,为了符合 SharePoint Foundation 安全模型的要求,这些不同是必需的:
您的适配器类派生自 Microsoft.SharePoint.WebPartPages.WebPartMobileAdapter,而不是直接来自 System.Web.UI.Adapters.ControlAdapter。
您的适配器类必须注册为安全控件。有关如何执行此操作的详细信息,请参阅使用 Web.config 文件。
不能重写继承自 ControlAdapter 的 Render(HtmlTextWriter) 方法。但可以重写 CreateControlsForSummaryView() 和 CreateControlsForDetailView() 方法中的一种或两种方法。
不能重写 Microsoft.SharePoint.WebPartPages.WebPartMobileAdapter 从 ControlAdapter 继承的 OnLoad(EventArgs)、OnInit(EventArgs)、OnPreRender(EventArgs) 和 OnUnload(EventArgs) 方法。然而,如果您需要针对任何这些事件的其他逻辑,则可重写 Microsoft.SharePoint.WebPartPages.WebPartMobileAdapter 的一个或多个特定的 SharePoint 安全替换方法:OnLoadForMobile(EventArgs)、OnInitForMobile(EventArgs)、OnPreRenderForMobile(EventArgs) 和 OnUnloadForMobile(EventArgs)。
重要信息有关如何重写这些方法的重要说明,请参阅这四个方法的参考主题。
移动设备可访问的 Web 部件页是类 WebPartMobilePage 的对象;但您不能创建它们。当移动设备用户导航到包含已针对移动设备改编的 Web 部件的 Web 部件页时,运行库将会创建一个 WebPartMobilePage 对象并将其返回到移动设备。
每个包含已针对移动设备改编的 Web 部件的 Web 部件页都具有对应的应用程序页,用户可在其中设置已改编的 Web 部件的可见性和顺序。这些页是 WebPartMobileSettingPage 类型的对象,它们也可在用户导航到一页(通常是单击 Web 部件页功能区上的一个按钮)后在运行时创建,因此您不能创建这些对象。
请参阅
引用
System.Web.UI.Adapters.ControlAdapter
Microsoft.SharePoint.WebPartPages.WebPartMobileAdapter