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
'Declaration
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class SPMobileListContents _
Inherits SPMobileListTemplateSelector
'Usage
Dim instance As SPMobileListContents
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
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.
IntendedListUse_ListTemplateID_PageType_Contents
The placeholders IntendedListUse, ListTemplateID, and PageType are defined in Mobile Page Rendering System.
The "Contents" indicates that <RenderingTemplate> should apply to the main content area part of the page.
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 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\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" />
<SPMobile:SPMobileLabel RunAt="Server" Text="" Weightless="true" />
</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" />
<SPMobile:SPMobileLabel RunAt="Server" Text="" Weightless="true" />
</Template>
</SharePoint:RenderingTemplate>
<SharePoint:RenderingTemplate RunAt="Server" id="MobileThumbnailViewContents">
<Template>
<SPMobile:SPMobileControlContainer RunAt="Server">
<SPMobile:SPMobileComponent RunAt="Server" TemplateName="MobileViewPicker" />
<SPMobile:SPMobileComponent RunAt="Server" TemplateName="MobileDefaultSeparator" />
</SPMobile:SPMobileControlContainer>
<SPMobile:SPMobileThumbnailViewListItemIterator RunAt="Server" />
<SPMobile:SPMobileLabel RunAt="Server" Text="" />
</Template>
</SharePoint:RenderingTemplate>
<SharePoint:RenderingTemplate RunAt="Server" id="MobileSimpleViewContents">
<Template>
<SPMobile:SPMobileComponent RunAt="Server" TemplateName="MobileViewContents" />
</Template>
</SharePoint:RenderingTemplate>
Do not change MobileDefaultTemplates.ascx or GbwMobileDefaultTemplates.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 or GbwMobileDefaultTemplates.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 .ascx 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 or GbwMobileDefaultTemplates.ascx.
For more about customizing Web page main content areas for built-in SharePoint Foundation 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
Microsoft.SharePoint.MobileControls Namespace
SPMoblePageContents