次の方法で共有


フィールド コントロールとコントロール テンプレート

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

適用対象: SharePoint Server 2010

Web パーツに加えて、Microsoft SharePoint Server 2010 のページにはフィールド コントロールを含めることができます。フィールド コントロールは、ユーザーが作成できる単純な コントロールです。これらのコントロールには、コントロールの 2 つのモードを表示する少量のコードがあり、1 つのモードはレンダリングの際に、もう 1 つのモードは編集時に使用されます。

SharePoint Foundation と SharePoint Server 2010 には、ユーザーがページで使用できる既定のフィールド コントロールがいくつか用意されています。SharePoint Server 2010 サイトで使用するフィールド コントロールはすべて、FormComponent という名前の SharePoint Foundation の基本クラスから派生しています。SharePoint Foundation および SharePoint Server 2010 の既定のコントロールはすべて、独自の特定の機能のために拡張することができます。

独自のフィールド コントロールは、BaseRichField クラスから派生させて記述できます。または、既定のフィールド コントロールから派生するフィールド コントロールを記述できます。

コントロール テンプレートは、データと表現方法を分離する の機能です。テンプレートはコントロールの表現方法を定義し、サイトに含まれるすべてのフィールド コントロールは、レイアウト定義用のテンプレートを使用します。

開発者は、以下を行うことができます。

  • コントロール テンプレートを作成して展開します。

  • 既定のコントロール テンプレートを上書きするテンプレートを展開します。

  • 展開後にテンプレートを編集します。

コントロール テンプレートの定義は、フィールドの種類の定義に似ており、同一の拡張および展開のモデルに従います。

カスタム テンプレートはすべて NewTemplates.ascx ファイルに追加されます。カスタム フィールド コントロール用のコントロール テンプレートは、以下の 3 つの方法のいずれかで定義できます。

  • オブジェクト モデルの GetControlTemplate メソッドを使用して、プログラムによってコントロール用のコントロール テンプレートを設定します。

  • ページ上にあるフィールド コントロールのインスタンスの TemplateName 属性または AlternateTemplateName 属性を設定します。

  • テンプレート ファイルを定義してコントロール内でそのファイルを参照する代わりに、コントロール自体のマークアップ内にテンプレートを定義します。この方法は主に、新しいテンプレートをインストールする権限を持たない Web デザイナがコントロールの外観をカスタマイズする場合に使用できます。

SharePoint Server 2010 の現在の構成方法と同様に、サイトは実行時に、テンプレートが定義された方法に応じて、マークアップ、TemplateName 属性、および GetControlTemplate メソッドの順序でテンプレートを使用します。ただしテンプレート デザイナーは、GetControlTemplate メソッドをオーバーライドすることで、この動作を変更できます。FormComponent 基本クラスから派生されたすべてのコントロールは、GetControlTemplate メソッドをオーバーライドし、コントロールで使用するテンプレートの選択方法を定義できます。これでテンプレートのロジックは、コントロールのすべてのインスタンスによって使用されます。

関連項目

概念

ページ レイアウトとマスター ページ

その他の技術情報

マスター ページ