SPMobileListContents Class

Specifies the ID of the <RenderingTemplate> that is used when rendering the main content area of a mobile page or form other than the home page.

Inheritance Hierarchy

System.Object
  System.Web.UI.Control
    System.Web.UI.MobileControls.MobileControl
      Microsoft.SharePoint.MobileControls.SPMobileComponent
        Microsoft.SharePoint.MobileControls.SPMobileTemplateSelector
          Microsoft.SharePoint.MobileControls.SPMobileListTemplateSelector
            Microsoft.SharePoint.MobileControls.SPMobileListContents

Namespace:  Microsoft.SharePoint.MobileControls
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public NotInheritable Class SPMobileListContents _
    Inherits SPMobileListTemplateSelector

Dim instance As SPMobileListContents
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public sealed class SPMobileListContents : SPMobileListTemplateSelector

Remarks

For an overview of the role of this class in the page rendering system for mobile devices, see Mobile Page Rendering System.

Do not call SPMobileListContents in your code. It is documented to provide further understanding of how mobile Web pages are rendered and how the rendering can be customized.

The <RenderingTemplate> ID takes the following form.

Mobile_ListTemplateID_PageType_Contents

The "Mobile" is a prefix that indicates that the <RenderingTemplate> is for SharePoint mobile web sites.

The "Contents" indicates that <RenderingTemplate> should apply to the main content area part of the page.

The PageType is the type of page, such as View or NewForm. It is never HomePage. For the rendering of the main content area of home pages, Windows SharePoint Services 3.0 uses SPMobileWebContents.

The ListTemplateID is the integer value of the Type attribute for the Collaborative Application Markup Language (CAML) <ListTemplate Element (List Template)> element or the value of the Name attribute. For example, the Type value for the announcements list template is 104. Hence, the SPMobileListContents object for an announcements list view page on a mobile Web site is the following.

Mobile_104_View_Contents

Alternatively, it could be the following.

Mobile_Announcements_View_Contents

The following excerpt from the MobileDefaultTemplates.ascx file (in C:\\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES) shows the markup that controls the rendering of main content areas when the page type is View. Notice that there is a specific template for only the Events list type. All other list types use the Mobile_Default_View_Contents <RenderingTemplate>.

<SharePoint:RenderingTemplate RunAt="Server" ID="MobileViewContents">
  <Template>
    <SPMobile:SPMobileListContents RunAt="Server" />
  </Template>
</SharePoint:RenderingTemplate>
<SharePoint:RenderingTemplate RunAt="Server" 
  ID="Mobile_Default_View_Contents">
  <Template>
    <SPMobile:SPMobileControlContainer RunAt="Server">
      <SPMobile:SPMobileComponent RunAt="Server" 
        TemplateName="MobileViewPicker" />
      <SPMobile:SPMobileComponent RunAt="Server" 
        TemplateName="MobileDefaultSeparator" />
    </SPMobile:SPMobileControlContainer>
    <SPMobile:SPMobileListItemIterator RunAt="Server" 
      ListItemSeparatorTemplateName="MobileListItemSeparator" />
  </Template>
</SharePoint:RenderingTemplate>
<SharePoint:RenderingTemplate RunAt="Server" 
  ID="Mobile_Events_View_Contents">
  <Template>
    <SPMobile:SPMobileControlContainer RunAt="Server">
      <SPMobile:SPMobileComponent RunAt="Server" 
        TemplateName="MobileViewPicker" />
      <SPMobile:SPMobileComponent RunAt="Server" 
        TemplateName="MobileDefaultSeparator" />
    </SPMobile:SPMobileControlContainer>
    <SPMobile:SPMobileEventsListItemIterator RunAt="Server" 
      ListItemSeparatorTemplateName="MobileListItemSeparator" />
  </Template>
</SharePoint:RenderingTemplate> 

Do not change MobileDefaultTemplates.ascx. For any combination of page type (other than the home page or a custom page) and list type that does not already have a <RenderingTemplate> defined in MobileDefaultTemplates.ascx, you can override the Mobile_Default_PageType_Contents <RenderingTemplate> with the following steps. (For main content area rendering on home pages, see SPMobileWebContents. For main content area rendering on custom page types, see SPMobilePageContents.)

Create a custom .aspx file in the ...\CONTROLTEMPLATES folder that contains a <RenderingTemplate> with the name Mobile_ListTemplateID_PageType_Contents. Specify the Type or Name of a <ListTemplate Element (List Template)> in place of ListTemplateID. Also specify a particular PageType. The latter must be one of the following: "DeletePage", "DispForm", "EditForm", "NewForm", or "View". Your custom <RenderingTemplate> then calls a combination of controls different from those used by Mobile_Default_PageType_Contents to render the main content area. (Otherwise the customization would be pointless.)

The runtime automatically gives preference to your custom <RenderingTemplate> over the Mobile_Default_PageType_Contents <RenderingTemplate> in MobileDefaultTemplates.ascx.

For more about customizing Web page main content areas for built-in Windows SharePoint Services 3.0 page types other than home pages, see Walkthrough: Customizing a Mobile List View Page.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

SPMobileListContents Members

Microsoft.SharePoint.MobileControls Namespace

SPMoblePageContents

Other Resources

Mobile Page Rendering System

Walkthrough: Customizing a Mobile List View Page