次の方法で共有


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

レンダリング コントロール クラスをレンダリング テンプレートと組み合わせて使用して、カスタム フィールドを新規モードまたは編集モードで表示することができます。(これらのクラスは、フィールドを表示モードで表示するためにも使用できますが、表示モードでフィールドを表示するにはフィールド定義で定義された RenderPattern を使用する方が一般的です。)

レンダリング コントロール クラスは、BaseFieldControl またはそこから派生した Windows SharePoint Services のいずれかのクラスから継承する必要があります。このクラスは、カスタム フィールド クラスと同じアセンブリにコンパイルされます。

直接または間接的に BaseFieldControl クラスから派生するカスタム フィールド クラスを作成する場合は、以下の名前付け規則を使用することをお勧めします。

フィールド タイプ名FieldControl

-- たとえば、TargetDateFieldControl または RegularExpressionFieldControl のようになります。(Windows SharePoint Services 3.0 に付属する BaseFieldControl 派生クラスは、この名前付け規則が決定される以前に作成され、DateTimeField などのように、フィールド タイプ名Field パターンに従います。)

レンダリング コントロールをインスタンス化するオブジェクトは、その Field プロパティ内に、表示するフィールド オブジェクトへの参照を保持します。後者は、その FieldRenderingControl プロパティ内に、そのレンダリング コントロールへの参照を保持します。これらの相互参照が示唆するように、2 つのオブジェクトはパートナーです。SPField 派生オブジェクトはコンテンツ データベースとの対話を処理し、BaseFieldControl 派生レンダリング コントロールはユーザーおよび UI のフィールドのレンダリングとの対話を処理します。

レンダリング テンプレート

すべてのレンダリング コントロールには、少なくとも 1 つのレンダリング テンプレートが関連付けられています。RenderingTemplate オブジェクトは、C:\program files\common files\microsoft shared\web server extensions\12\template\controltemplates フォルダにある .ascx ファイルの RenderingTemplate 要素として定義されます。レンダリング テンプレートは、レンダリング コントロール オブジェクトの TemplateName プロパティ内のその ID 値によって参照されます。

注意

BaseFieldControl は、TemplateBasedControl から、複数のレンダリング テンプレートにリンクし、レンダリング コンテキストに基づいてそれらを切り替えることができるメンバを継承します。

レンダリング テンプレートの詳細については、「フィールド レンダリング テンプレート」を参照してください。

CreateChildControls メソッド

レンダリング コントロール クラスは、Control から継承する CreateChildControls メソッドをオーバーライドします。レンダリング テンプレートが大部分のレンダリング作業を実行するので、CreateChildControls メソッドは、従来の ASP.NET コントロール クラスで使用された場合のように多くの作業を実行することはありません。通常は、子コントロールの最終調整のみを行います。たとえば、新規モードで子コントロールに既定値を割り当てるか、編集モードで子コントロールにフィールドの現在の値を割り当てます。CreateChildControls の上書きには、子コントロールを作成する new 演算子が多数含まれていることはほとんどありません (ASP.NET プログラミングの知識をお持ちの場合は、意外と思われるかも知れません)。

データの入力規則ロジックが CreateChildControls に含まれている場合があります。カスタム フィールド データの入力規則の詳細については、「ユーザー設定フィールド データ入力規則」を参照してください。

See Also

タスク

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

概念

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

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

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

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

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

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