上次修改时间: 2010年5月5日
适用范围: SharePoint Foundation 2010
本文内容
页面布局
自定义控件
分页
Microsoft SharePoint Foundation 移动页使用模板来描述页面布局和引用 Microsoft ASP.NET 移动控件或本机 SharePoint 移动控件。
MobileDefaultTemplates.ascx 和 GbwMobileDefaultTemplates.ascx 文件包含 SharePoint Foundation 附带的用于移动页的所有呈现模板。这些用户控件文件位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES 目录中。可从该位置通过移动呈现框架来动态加载模板。通过在该目录中放置定义呈现模板的自定义 .ascx 文件,并为这些呈现模板提供适当的标识符 (ID),可以重写用于填充移动页的默认控件。有关页面呈现过程和呈现模板的 ID 的详细信息,请参阅移动页呈现系统。
页面布局
每个 SharePoint Foundation 移动页均划分为页眉、内容和页脚区域,这些区域之间通常用一条线隔开。页眉区域包含网站、列表或项目的标题。内容区域显示内容,如图像、Wiki 文本和标准移动页上 Web 部件的移动适配器。在列表视图页上,内容显示列表中的项;在列表项表单上,内容显示列表项中的字段。页脚区域包含用于列表项的操作 URL 和用于转到其他页的导航 URL。
移动页上的默认控件引用 MobileDefaultTemplates.ascx 和 GbwMobileDefaultTemplates.ascx 文件中定义的呈现模板。这些模板将展开其子模板并在页面中呈现控件。页眉和页脚区域都实现 ASP.NET<DeviceSpecific> 元素,并且始终会显示(甚至在对内容区域进行分页时也会显示)。
下面的示例演示在 mbllists.aspx 页面(即移动设备的"列表的列表"页面)中使用的模板。
<SPMobile:SPMobileForm RunAt="Server"
PageType="HomePage"
Paginate="true">
<DeviceSpecific>
<Choice Filter="supportsCss">
<HeaderTemplate>
<SPMobile:SPMobileComponent RunAt="Server"
Templatename="MobilePageTitleWithCss" Weightless="true" />
</HeaderTemplate>
<FooterTemplate>
<SPMobile:SPMobileComponent RunAt="Server"
Templatename="MobilePageNavigationWithCss" Weightless="true" />
</FooterTemplate>
</Choice>
<Choice>
<HeaderTemplate>
<SPMobile:SPMobileControlContainer RunAt="Server" Weightless="true">
<SPMobile:SPMobilePageTitle RunAt="Server" />
<SPMobile:SPMobileComponent RunAt="Server"
TemplateName="MobileDefaultSeparator" />
</SPMobile:SPMobileControlContainer>
</HeaderTemplate>
<FooterTemplate>
<SPMobile:SPMobileControlContainer RunAt="Server" Weightless="true">
<SPMobile:SPMobileComponent RunAt="Server"
Templatename="MobilePaginateNavigation" />
<SPMobile:SPMobileComponent RunAt="Server"
TemplateName="MobileDefaultSeparator" />
<SPMobile:SPMobilePageNavigation RunAt="Server" />
</SPMobile:SPMobileControlContainer>
</FooterTemplate>
</Choice>
</DeviceSpecific>
<SPMobile:SPMobilePageContents RunAt="Server" />
</SPMobile:SPMobileForm>
DeviceSpecific 元素是一种 switch 语句。有关详细信息,请参阅 Introduction to the DeviceSpecific Control。在这种情况下,如果移动设备支持级联样式表 (CSS) 文件,则页眉和页脚区域将使用具有 CSS 样式的模板。否则,使用包含自己的样式信息的呈现模板。
请注意,在标记的非 CSS 分支中,未设置 SPMobilePageTitle 和 SPMobilePageNavigation 控件的 TemplateName 属性。SPMobilePageContents 控件的 TemplateName 属性也未设置。这是因为该属性值硬编码到这些控件的声明中。示例中的其他控件使用 TemplateName 属性来标识 MobileDefaultTemplates.ascx 文件中定义的呈现模板。
SPMobilePageContents 标记在页面中插入正文区域,这将随网站定义、列表类型或表单的不同而不同。
自定义控件
若要对特定网站定义的移动页应用特殊呈现,或对指定列表视图或项目表单应用特殊呈现,可以在位于 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES 目录的自定义 .ascx 文件中创建自定义呈现模板。使用下列格式之一为自定义 RenderingTemplate 控件提供 ID 属性值。有关更多详细信息,请参阅移动页呈现系统、如何:自定义移动主页、如何:自定义移动列表视图和表单页和如何:自定义移动页上的字段呈现。
主页
WebPartMobile_SiteTypeID_HomePage_Title
WebPartMobile_SiteTypeID_HomePage_Contents
WebPartMobile_SiteTypeID_HomePage_Navigation
WebPartMobileDetail_SiteTypeID_HomePage_Contents
WebPartMobileDetail_SiteTypeID_HomePage_Navigation
Mobile_网站类型 ID_HomePage_Title
Mobile_网站类型 ID_HomePage_Contents
Mobile_网站类型 ID_HomePage_Navigation
WebPartMobile 呈现模板适用于与非移动 Web 部件页相对应的移动页 (mblwp.aspx 或 mblwiki.aspx)。WebPartMobileDetail 呈现模板适用于提供非移动 Web 部件页的更详细呈现形式的移动页 (mblwpdetail.aspx)。有关这些移动页的详细信息,请参阅移动 Wiki 和 Web 部件页。Mobile_*_HomePage_* 模板适用于相应非移动主页不具有 Web 部件、也不支持 Wiki 的旧网站主页。
移动"HomePage"页面类型包括实际上并非网站主页的页面。此类型包括不能完全归入其他类别的页面,如列表视图页或表单页。例如,移动"列表的列表"页面 mbllist.aspx 是 HomePage 类型的页面。
备注
与移动页对应的非移动页称为移动页的"目标页"。
列表视图
Mobile_列表类型 ID_View_Title
Mobile_列表类型 ID_View_Contents
Mobile_列表类型 ID_View_Navigation
MobileDailyView_ListTypeID_View_Navigation
备注
MobileDailyView* 呈现模板适用于组工作网站上"日历中的每日事件"或"图片库中图片"的移动视图页 (viewdaily.aspx)。有关此页面的详细信息,请参阅特殊用途的移动网页。
项目表单
Mobile_列表类型 ID_NewForm_Title
Mobile_列表类型 ID_NewForm_Contents
Mobile_列表类型 ID_NewForm_Navigation
Mobile_列表类型 ID_EditForm_Title
Mobile_列表类型 ID_EditForm_Contents
Mobile_列表类型 ID_EditForm_Navigation
Mobile_列表类型 ID_DispForm_Title
Mobile_列表类型 ID_DispForm_Contents
Mobile_列表类型 ID_DispForm_Navigation
命名自定义呈现模板
应该根据要应用自定义呈现的网站、页面或页面区域的类型基于上述格式之一命名自定义 .ascx 控件。将 SiteTypeID 替换为网站定义的整数 ID 或其名称,例如,STS、SGS 或 BLOG。(对于自定义网站定义,必须使用 ID 号。)将 ListTypeID 替换为整数 ID 或表示指定列表类型的 SPListTemplateType 值。
也可以创建新页面并使用主页重定向功能。有关详细信息,请参阅如何:通过重定向自定义移动主页。
分页
SharePoint Foundation 使用 ASP.NET 分页及其页面行为支持对移动页的内容区域进行分页。有关 ASP.NET 分页的详细信息,请参阅 ASP.NET 移动控件:分页(该链接可能指向英文页面)。