次の方法で共有


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

See Also

概念

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