Welcome

首页 / 软件开发 / .NET编程技术 / WSS3SDK之如何定制mobile的列表视图和窗体页面

WSS3SDK之如何定制mobile的列表视图和窗体页面2010-11-14 博客园 Sunmoonfire本节提供了关于定制mobile设备所访问的Windows SharePoint Services 3.0列表视图和窗体页面的基本过程概述。详细的步骤参加后面的演练文章。

正如先前在Mobile页面渲染机制一节所描述的,在mobile主页的页眉,内容区,页脚(导航区)中的每个控件都会导致一条链式调用,分别通过以下3个模板选择器控件来启动该调用。

SPMobileListTitle — 选择用于渲染页眉部分的RenderingTemplate控件。

SPMobileListContents — 选择用于主干部分的 RenderingTemplate 控件。

SPMobileListNavigation — 选择用于页脚部分的 RenderingTemplate 控件。

这些类的对象之一会根据当前的列表类型(如通知或其它自定义列表类型)和页面的类型来选取一个RenderingTemplate对象。

这些控件会搜寻下列格式的RenderingTemplate ID:

Mobile_ ListTypeID _ PageType _ PageArea

其中 ListTypeID 可以是当前列表类型的ID号(如105),也可以是SPListTemplateType枚举的一个值(如Contacts)。有两种方式来定义一个列表类型ID:

如果列表是作为网站类型的一部分来在Onet.xml站点定义文件中指定的,则 ListTypeID 的值是Onet.xml中List元素的Type属性值。该文件位于这个目录下: Local_Drive:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATESITETEMPLATESSite_Typexml

如果列表是通过UI添加到网站中的;也就是说,通过新建(列表)页,则 ListTypeID 为当初用作新列表类型基础的列表类型的ID。这取决于用户在创建页(create.aspx)上的点选,究竟是点击了哪个列表类型才进到新建页的。

PageType 可以是 VIEw, NewForm, EditForm, DispForm 或 DeletePage。

PageArea 可以是 Title, Contents或 Navigation。

如果当前列表类型所指定的RenderingTemplate元素的ID没有找到,则他将使用ID为Mobile_Default_PageType_PageArea的控件。

创建一个包含一个自定义的页眉(Title),内容主体,或页脚(导航区域)的mobile列表视图或窗体页其实只需要创建一个渲染模板,其ID为对应得页面区域的模板选择器控件要搜索的ID。

已有的RenderingTemplate

当Windows SharePoint Services 3.0安装好后,下列的两个用于mobile主页的RenderingTemplates已经存在于MobileDefaultTemplates.ascx中。

Mobile_Comments_DeletePage_Navigation

Mobile_Comments_VIEw_Navigation

Mobile_DiscussionBoard_DispForm_Contents

Mobile_DiscussionBoard_EditForm_Contents

Mobile_DiscussionBoard_EditForm_Navigation

Mobile_DiscussionBoard_NewForm_Navigation

Mobile_DocumentLibrary_View_Navigation

Mobile_Events_DispForm_Navigation

Mobile_Events_EditForm_Navigation