リスト アイテム フォーム ページ

最終更新日: 2010年4月9日

適用対象: SharePoint Foundation 2010

この記事の内容
リスト アイテム フォームおよびマスタ ページ
表示フォームのレンダリング
リストを作成または変更するカスタム ページを指定する

多くの Microsoft SharePoint Foundation リストのリスト アイテム フォーム ページ (DisplayForm.aspx、EditForm.aspx、および NewForm.aspx) は、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\Pages にあるのと同じ Form.aspx ファイルに基づいています。このファイルは、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\GLOBAL にある SharePoint Foundation の default.master ファイルを実装しています。

既定では、リスト フォーム ページはスケーラビリティ向上のためにコンパイルなしモードで実行されます。SharePoint Foundation でフォーム ページにコードを作成するには、ユーザー インターフェイスでページ上でのコードの使用を有効にする必要があります。

リスト アイテム フォームおよびマスタ ページ

既定のリスト フォーム ページは既定のマスター ページに従って作成されており、コントロールの各領域はページ上にプレースホルダーで表されます。リスト フォーム ページにはツール バー、ヘッダー、本体、フッターのプレースホルダーがあります。これらのプレースホルダーで使用するコントロールはフォーム ページごとに異なり、ネストの (派生した) マスター ページを使用した全体的なマスター ページの設計が必要になります。

マスター ページでは、リスト アイテム フォームに表示する枠線やナビゲーション領域を定義します。SharePoint Foundation のマスター ページの詳細については、「マスター ページ」を参照してください。

Form.aspx ファイルでは、ページ本体に ListFormWebPart オブジェクトを挿入する Microsoft.SharePoint.WebPartPages.WebPartZone コントロールが使用されています。ページのコンテンツを表示するため、この Web パーツは ListForm コントロールをインスタンス化します。このコントロールのテンプレートは %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx に定義されています。ListForm コントロールでは、ツール バー、フィールド、およびフォームのその他のパーツのレイアウトに HTML マークアップおよびコントロール テンプレートが使用されています。カスタム ListForm コントロールを指定するには、ListFormWebPart クラスのテンプレート プロパティを使用します。

重要重要

SharePoint Foundation がフロントエンド Web サーバーにインストールしたファイルを編集することはできません。もともと製品にインストールされているファイルに対する変更は、SharePoint Foundation の更新やサービス パックをインストールしたり、インストールを新しい製品バージョンにアップグレードしたりすると、上書きされる可能性があります。

表示フォームのレンダリング

SharePoint Foundation の表示フォームのレンダリングは、編集フォームや新規作成フォームの場合とは若干異なります。それは、表示フォームのレイアウトは編集フォームや新規作成フォームと同じで、多くのコントロールを共有していますが、表示フォームのフィールドはアンマネージ コードで定義され、リスト ビューで使用されているのと同じフィールド レンダリングを使用しているためです。表示モードでは、SharePoint フィールド コントロールはフィールドのレンダリングに Collaborative Application Markup Language のコア スキーマ 定義を使用します。

重要重要

Web パーツをリスト アイテムの表示、編集、および新規作成フォーム (DispForm.aspx、EditForm.aspx、および NewForm.aspx) に追加することはできますが、推奨されません。また、SharePoint Foundation ではサポートされません。リスト ビュー ページ (AllItems.aspx) への Web パーツの追加はサポートされます。

リストを作成または変更するカスタム ページを指定する

リストの作成やリスト プロパティの編集を行うカスタム ページを指定するには、リスト定義フィーチャーの ListTemplate 要素に NewPage 属性や EditPage 属性を指定します。

次の例では、リスト定義を使用して作成したリストのカスタム ページを指定しています。

<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <ListTemplate
    Name="MyTemplate"
    Type="2100"
    BaseType="1"
    OnQuickLaunch="TRUE"
    SecurityBits="11"
    DisplayName="My Custom List Type"
    NewPage="MyCreateList.aspx"
    EditPage="MyEditList.aspx"
    Description="My description..."
    Image="/_layouts/images/itsl.gif"
    DocumentTemplate="100">
  </ListTemplate>
</Elements>