Layout and Pagination of Mobile Pages

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

A mobile page uses templates both to describe page layout and to reference Microsoft ASP.NET 2.0 mobile controls or native SharePoint mobile controls.

A single MobileDefaultTemplates.ascx file contains all the rendering templates used in mobile pages that ship with . This user control file is located in the Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES directory. Templates are loaded dynamically through the mobile rendering framework from this location. By placing custom .ascx files that define rendering templates in this directory, and giving those rendering templates the appropriate IDs, you can override the default controls that populate a mobile page. For more information about the page rendering process and the IDs of rendering templates, see Mobile Page Rendering System.

Page Layout

Each Windows SharePoint Services mobile page is divided into header, contents, and footer areas with a separator line between them. The header area contains the title of the Web site, list, or item. The contents area displays the list of lists in a home page, items in a list view page, or fields in an item form. The footer area contains action URLs for working with list items and navigation URLs for going to other pages.

The default controls on a mobile page refer to rendering templates defined in the MobileDefaultTemplates.ascx file, which expand their child templates and render controls in the page. The header and footer areas implement the ASP.NET <DeviceSpecific> Element and are always displayed, even when the contents area is paginated.

The following example shows the templates used in mbllists.aspx for the default home page:

<SPMobile:SPMobileForm 
  RunAt="Server" 
  PageType="HomePage" 
  Paginate="true">
  <DeviceSpecific>
    <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>

The DeviceSpecific element is a kind of switch statement. For more information, see Introduction to the DeviceSpecific Control. In this case, however, there is only one "choice." So the page will be rendered the same way regardless of the mobile device being used.

The TemplateName attribute of the SPMobilePageTitle, SPMobilePageNavigation, and SPMobilePageContents controls is not set in the page because it is hard coded into the C# declaration of those controls. Other controls in the example use the TemplateName attribute to identify a rendering template defined in MobileDefaultTemplates.ascx.

The SPMobilePageContents tag inserts the body region in the page, which differs according to the site definition, list type, or form.

Customizing Controls

To apply special rendering to a home page according to site definition, or to a list view or item form according to list template type, you can create a custom rendering template in a custom .ascx file in Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES.

To apply special rendering, define a RenderingTemplate control in one of the following formats. For more detailed information, see Mobile Page Rendering System, How to: Customize Mobile Home Pages, How to: Customize Mobile List View and Form Pages , and How to: Customize Field Rendering on Mobile Pages.

Home Page

  • Mobile_SiteTypeID_HomePage_Title

  • Mobile_SiteTypeID_HomePage_Contents

  • Mobile_SiteTypeID_HomePage_Navigation

List Views

  • Mobile_ListTypeID_View_Title

  • Mobile_ListTypeID_View_Contents

  • Mobile_ListTypeID_View_Navigation

Item Forms

  • Mobile_ListTypeID_NewForm_Title

  • Mobile_ListTypeID_NewForm_Contents

  • Mobile_ListTypeID_NewForm_Navigation

  • Mobile_ListTypeID_EditForm_Title

  • Mobile_ListTypeID_EditForm_Contents

  • Mobile_ListTypeID_EditForm_Navigation

  • Mobile_ListTypeID_DispForm_Title

  • Mobile_ListTypeID_DispForm_Contents

  • Mobile_ListTypeID_DispForm_Navigation

Replace SiteTypeID with the integer ID of the site definition, or with its name, for example, STS or BLOG. (For a custom site definition, you must use the ID number.) Replace ListTypeID with the integer ID or SPListTemplateType value representing the given list type.

You can also use the home page redirection feature to create a new page from scratch. For more information, see How to: Customize the Mobile Home Page through Redirection.

Pagination

Windows SharePoint Services uses ASP.NET 2.0 pagination and its page behavior to support pagination of the contents area in the following mobile pages:

  • bloghome.aspx

  • dispform.aspx

  • disppost.aspx

  • mbllists.aspx

  • view.aspx

  • viewcomment.aspx

For more information on ASP.NET pagination, see ASP.NET Mobile Controls: Pagination (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mwsdk/html/mwconpagination.asp).

See Also

Tasks

How to: Customize Mobile Home Pages

Walkthrough: Customizing a Mobile Home Page

How to: Customize Mobile List View and Form Pages

Walkthrough: Customizing a Mobile List View Page

How to: Customize Field Rendering on Mobile Pages

Walkthrough: Customizing Item Titles on a Mobile Display Form

Walkthrough: Creating a Custom Field Rendering Control for Mobile Pages

Concepts

Mobile Page Rendering System

How to: Customize the Mobile Home Page through Redirection