移动页的布局和分页

上次修改时间: 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 分支中,未设置 SPMobilePageTitleSPMobilePageNavigation 控件的 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 移动控件:分页(该链接可能指向英文页面)

请参阅

任务

如何:自定义移动主页

演练:自定义移动主页

如何:自定义移动列表视图和表单页

演练:自定义移动列表视图页

如何:自定义移动页上的字段呈现

演练:自定义移动表单上的项目标题

演练:为移动页面创建自定义字段呈现控件

概念

移动页呈现系统

如何:通过重定向自定义移动主页