SPMobilePageNavigation Class

Specifies the ID of the entry point <RenderingTemplate> that is used when rendering the navigation (footer) area of a mobile Web page.

Inheritance Hierarchy

System.Object
  System.Web.UI.Control
    System.Web.UI.MobileControls.MobileControl
      Microsoft.SharePoint.MobileControls.SPMobileComponent
        Microsoft.SharePoint.MobileControls.SPMobilePageNavigation

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 SPMobilePageNavigation _
    Inherits SPMobileComponent

Dim instance As SPMobilePageNavigation
[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 SPMobilePageNavigation : SPMobileComponent

Remarks

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

An SPMobilePageNavigation object appears in the <FooterTemplate> element of a mobile Web page. It specifies the entry point into the relevant portion of the MobileDefaultTemplates.aspx file located in C:\\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES.

If the page type is HomePage, the DefaultTemplateName property holds the ID of the <RenderingTemplate>. For all other page types, the TemplateName property holds the ID of the <RenderingTemplate>.

Examples

The following excerpt from mbllists.aspx, the default home page for mobile Web sites, shows an SPMobilePageNavigation object in use.

<!-- Page declaration and other matter omitted -->
<SPMobile:SPMobileForm RunAt="Server" PageType="HomePage" Paginate="true">
  <DeviceSpecific>
    <Choice>
      <!-- matter omitted -->
      <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>

Because the page type is a home page, the value of the DefaultTemplateName property, "MobileHomePageNavigation", identifies the entry point <RenderingTemplate> in MobileDefaultTemplates.aspx. The following excerpt from that file shows that the MobileHomePageNavigation <RenderingTemplate> calls a SPMobileWebNavigation control. It, in turn, simply identifies a more specific <RenderingTemplate> ID: Mobile_WebSiteType_HomePage_Navigation, where WebSiteType is the value of the Name attribute of the Collaborative Application Markup Language (CAML) <Template Element (Site)> element (of the WEBTEMP.XML file) for the current type of Web site. For example, the Name value for the blog site definition is "BLOG". Hence, the SPMobileWebNavigation object defines the following <RenderingTemplate> ID for a mobile blog home page.

Mobile_BLOG_HomePage_Navigation

(For a custom site definition, WebSiteType is the value of the ID attribute of the <Template Element (Site)> element, not the Name attribute.)

The Mobile_BLOG_HomePage_Navigation <RenderingTemplate>, in turn, defines the footer area as consisting of a link to the Posts home page followed by a logout link.

If no<RenderingTemplate> with that name exists in some .aspx file in the ...\CONTROLTEMPLATES folder, it will use the <RenderingTemplate> named Mobile_Default_HomePage_Navigation. That <RenderingTemplate>, in turn, defines the footer area as consisting of a link to the home page followed by a logout link.

<SharePoint:RenderingTemplate RunAt="Server" ID="MobileHomePageNavigation">
  <Template>
    <SPMobile:SPMobileWebNavigation RunAt="Server" />
  </Template>
</SharePoint:RenderingTemplate>
<SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_Default_HomePage_Navigation">
  <Template>
    <SPMobile:SPMobileHomePageNavigation   RunAt="Server" Text="<%$Resources:wss, mobile_navigation_home_text%>" AccessKey="0" />
    <SPMobile:SPMobileLogoutPageNavigation RunAt="Server" Text="<%$Resources:wss, personalactions_logout%>" AccessKey="*" />
  </Template>
</SharePoint:RenderingTemplate>
<SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_BLOG_HomePage_Navigation">
  <Template>
    <SPMobile:SPMobilePostsHomePageNavigation RunAt="Server" Text="<%$Resources:wss, moblog_navigation_home_text%>" AccessKey="0" />
    <SPMobile:SPMobileLogoutPageNavigation    RunAt="Server" Text="<%$Resources:wss, personalactions_logout%>" AccessKey="*" />
  </Template>
</SharePoint:RenderingTemplate>

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

SPMobilePageNavigation Members

Microsoft.SharePoint.MobileControls Namespace

Other Resources

Mobile Page Rendering System