モバイル ページのレイアウトと改ページ

最終更新日: 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 モバイル ページはそれぞれがヘッダー、コンテンツ、およびフッターの領域に分かれていて、各領域は、通常、線で区切られています。ヘッダー領域には、Web サイト、リスト、またはアイテムのタイトルが含まれます。コンテンツ領域には、標準のモバイル ページにある Web パーツのイメージ、Wiki テキスト、モバイル アダプターなどのコンテンツが表示されます。リスト ビュー ページのコンテンツにはリストのアイテムが表示され、リスト アイテム フォームのコンテンツにはリスト アイテムのフィールドが表示されます。フッター領域には、リスト アイテムを操作するアクション URL と、他のページに移動するナビゲーション URL が含まれます。

モバイル ページの既定のコントロールは、MobileDefaultTemplates.ascx ファイルおよび GbwMobileDefaultTemplates.ascx ファイルに定義されたレンダリング テンプレートを参照します。このテンプレートにより子テンプレートが展開され、ページ内でコントロールがレンダリングされます。ヘッダー領域とフッター領域には、ASP.NET<DeviceSpecific> Elementが実装され、コンテンツ領域が改ページされるときも常に表示されます。

次の例は、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 分岐なしのマークアップでは、SPMobilePageTitle コントロールおよび SPMobilePageNavigation コントロールの 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_SiteTypeID_HomePage_Title

  • Mobile_SiteTypeID_HomePage_Contents

  • Mobile_SiteTypeID_HomePage_Navigation

WebPartMobile レンダリング テンプレートは、非モバイル Web パーツ ページに対応するモバイル ページ (mblwp.aspx または mblwiki.aspx) での使用を目的としています。また、WebPartMobileDetail レンダリング テンプレートは、非モバイル Web パーツ ページを詳細に表示するモバイル ページ (mblwpdetail.aspx) での使用を目的としています。これらのモバイル ページの詳細については、「モバイル Wiki および Web パーツ ページ」を参照してください。Mobile_*_HomePage_* テンプレートは、Web パーツがなく、Wiki にも対応していない非モバイル ホーム ページに対応する従来の Web サイトのホーム ページでの使用を目的としています。

モバイル "HomePage" ページ型には、実際はサイトのホーム ページではないページが含まれます。この型には、リスト ビュー ページ、フォーム ページなど、他のカテゴリに該当しないページが含まれます。たとえば、モバイル "リストのリスト" ページ、mbllist.aspx は、HomePage 型です。

注意

モバイル ページが対応する非モバイル ページは、モバイル ページの "ターゲット ページ" と呼ばれます。

リスト ビュー

  • Mobile_ListTypeID_View_Title

  • Mobile_ListTypeID_View_Contents

  • Mobile_ListTypeID_View_Navigation

  • MobileDailyView_ListTypeID_View_Navigation

注意

MobileDailyView* レンダリング テンプレートは、グループ ワーク サイト (viewdaily.aspx) のカレンダーの日単位のイベントまたは画像ライブラリの画像を対象としたモバイル ビュー ページでの使用を目的としています。このページの詳細については、「特定用途のモバイル ページ」を参照してください。

アイテム フォーム

  • 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

カスタム レンダリング テンプレートに名前を付ける

カスタム レンダリングを適用するサイト、ページ、およびページ領域の種類に応じて、上記のいずれかの形式でカスタム .ascx コントロールに名前を指定します。SiteTypeID は、STS、SGS、BLOG など、サイト定義の整数の ID またはその名前に置き換えてください (カスタム サイト定義の場合は、ID 番号を使用する必要があります)。また、ListTypeID は、整数の ID または指定されたリストの種類を表す SPListTemplateType 値に置き換えてください。

新しいページを作成し、ホーム ページのリダイレクト機能を使用することもできます。詳細については、「[方法] リダイレクションを使用してモバイル ホーム ページをカスタマイズする」を参照してください。

改ページ

SharePoint Foundation では、ASP.NET の改ページとページ処理を使用して、モバイル ページのコンテンツ領域の改ページをサポートしています。ASP.NET の改ページの詳細については、「ASP.NET Mobile Controls: Pagination (英語)」を参照してください。

関連項目

タスク

[方法] モバイル ホーム ページをカスタマイズする

[ウォークスルー] モバイル ホーム ページをカスタマイズする

[方法] モバイル リスト ビュー ページおよびフォーム ページをカスタマイズする

[ウォークスルー] モバイル リスト ビュー ページをカスタマイズする

[方法] モバイル ページでフィールド レンダリングをカスタマイズする

[チュートリアル] モバイル フォームのアイテムのタイトルをカスタマイズする

[ウォークスルー] モバイル ページのカスタム フィールド レンダリング コントロールを作成する

概念

モバイル ページのレンダリング システム

[方法] リダイレクションを使用してモバイル ホーム ページをカスタマイズする