Share via


フィールド レンダリング テンプレート

フィールド レンダリング テンプレートとは、C:\program files\common files\microsoft shared\web server extensions\12\template\controltemplates フォルダにある .ascx ファイルの RenderingTemplate 要素として定義されている RenderingTemplate オブジェクトのことです。レンダリング コントロール クラスCreateChildControls メソッドと共に使用され、新規作成モードまたは編集モード (場合によっては表示モード) でフィールドを表示します。

レンダリング テンプレートとレンダリング コントロールの関係

RenderingTemplate オブジェクトとは、一種のハイブリッド Control-ITemplate オブジェクトのことです。Control から派生し、新しいメンバを 1 つだけ追加します。このメンバは [P:Microsoft.SharePoint.WebControls.RenderingTemplate.][Template] プロパティで、ITemplate オブジェクトが含まれています。これにより、レンダリング コントロール (TemplateBasedControl から派生) から ITemplate オブジェクトを間接的に参照できるようになります。この参照は、レンダリング テンプレートの ID プロパティ ([P:Microsoft.SharePoint.WebControls.RenderingTemplate.ID)] により RenderingTemplate オブジェクトを参照することによって実現します。レンダリング コントロールでは、所有する 1 つ以上の String プロパティを使用してこれを実現します。このようなプロパティである TemplateName は、レンダリング テンプレートの ID を保持することができます。

レンダリング テンプレート システム

すべてのフィールド レンダリング コントロールには、少なくとも 1 つの関連するフィールド レンダリング テンプレートが含まれています。Windows SharePoint Services 3.0 では、表示の際に C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES にある .ascx ファイルで宣言されているすべてのコントロールの ID を検索することにより、必要なテンプレートを検索します (Web アプリケーション開始時にこれらのすべてが読み込まれます)。

フィールド レンダリング構成

フィールド レンダリング テンプレートを使用してユーザー設定フィールドの表示方法を決める際は、幅広いオプションの中から詳細なコントロールを使用することができます。このトピックでは、最も一般的な構成についてのみ説明します。その他のレンダリング オプションの詳細については、「カスタム フィールド レンダリングのパターン」を参照してください。

ユーザー設定フィールドの種類を作成する際に最もよく使用するフィールド レンダリング構成には、以下のような特徴があります。

  • レンダリング コントロールが 1 つのレンダリング テンプレートのみに関連づけられており、コントロールの TemplateName プロパティを使用してテンプレートの ID を指定します。

  • このテンプレート 1 つで、新規作成モードや編集モードでのフィールド レンダリングのほとんどが提供されます。(表示モードでのレンダリングは通常、フィールドの説明で定義されている RenderPattern で処理されます。)

  • レンダリング コントロールの CreateChildControls メソッドを使用すると、新規作成モードでレンダリング コントロールの子コントロールに既定値が割り当てられます。また、編集モードで子コントロールにフィールドの現在の値が割り当てられます。(表示モードでは処理は行われません。) そのほかに、子コントロールの Label に CSS クラスを割り当てるなどの "仕上げ" のレンダリング作業が行われます。

  • 入力規則ロジックは、フィールド レンダリング コントロールの ValidateIsValidErrorMessage の各メンバと、その基礎となるフィールドの種類の GetValidatedString メソッドにより実装されます。(Validate は、CreateChildControls により呼び出される場合があります。)

BaseFieldControl は、複数のレンダリング テンプレートとのリンクを確立し、レンダリング コンテキストに基づいてこれらのテンプレート間を切り替えることを可能にする TemplateBasedControl メンバと FieldMetadata メンバから継承しています。フィールド レンダリングのその他のパターンに関する詳細については、「カスタム フィールド レンダリングのパターン」を参照してください。

See Also

タスク

[ウォークスルー] ユーザー設定フィールド型を作成する

概念

ユーザー設定フィールド型

ユーザー設定フィールドクラス

ユーザー設定フィールド データ入力規則

ユーザー設定フィールド値クラス

ユーザー設定フィールド型の定義

ユーザー設定フィールド型のプロパティのレンダリング

フィール型プロパティ用エディタ コントロール

フィールド レンダリング コントロール

カスタム フィールド レンダリングのパターン