.NET サンプル - ASP.NET コントロールの作成
ここでは、次のサンプルについて説明します。
Simple サンプル
SimpleInnerContent サンプル
Template1 サンプル
SimpleSubProperty サンプル
Label サンプル
SimpleProperty サンプル
CustomParse2 サンプル
CustomParse1 サンプル
Repeater1 サンプル
NonComposition1 サンプル
NonComposition2 サンプル
Repeater2 サンプル
Composition3 サンプル
Composition2 サンプル
Composition1 サンプル
Simple サンプル
このサンプルでは、メッセージ文字列を表示する単純なコントロールの例を示します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI
このサンプルで使用されているクラス
Control、HtmlTextWriter、TextWriter、Assembly
SimpleInnerContent サンプル
このサンプルでは、SimpleInnerContent
という名前のカスタム コントロールを示します。このコントロールは、Controls コレクションに LiteralControl が追加されたかどうかを確認することで、タグ間に追加されたテキストを表示します。Controls コレクションに LiteralControl が追加されている場合、このコントロールは LiteralControl の Text プロパティを取得して、そのテキストを出力文字列に追加します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI
このサンプルで使用されているクラス
Control、Message、Literal、LiteralControl、TextWriter、HtmlTextWriter、Assembly
Template1 サンプル
このサンプルでは、単純なテンプレート コントロールと、それを使用した ASP.NET ページを示します。ASP.NET ページ フレームワークでは、テンプレートを使用することで、コントロール ロジックとユーザー インターフェイスを分離したコントロールを作成できます。ページ開発者は、テンプレート タグ間にパラメータとして UI を指定することにより、コントロールの表示をカスタマイズできます。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI
このサンプルで使用されているクラス
Control、Message、TemplateControl、String、Container、Page、LiteralControl、Literal、Assembly
SimpleSubProperty サンプル
このサンプルでは、Format 型のプロパティを持つ SimpleSubProperty
という名前のカスタム コントロールを定義します。Format クラスには、Color と Size という 2 つのプリミティブ プロパティがあり、これらのプロパティは、SimpleSubProperty
のサブプロパティです。クラス A がクラス B の型のプロパティを持つとき、B のプロパティ (存在する場合) を A のサブプロパティと呼びます。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI
このサンプルで使用されているクラス
Form、Control、String、Message、HtmlTextWriter、TextWriter、Assembly
Label サンプル
このサンプルでは、Text と FontSize という、State に格納される 2 つのプロパティを持つカスタム コントロール Label
を示します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI
このサンプルで使用されているクラス
Label、Font、Control、Button、Message、Object、String、EventArgs、Assembly、TextWriter、HtmlTextWriter
SimpleProperty サンプル
このサンプルでは、integer、Boolean、string などのプリミティブ データ型に対応する単純なプロパティをコントロールに追加する方法を示します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI
このサンプルで使用されているクラス
Message、Control、String、HtmlTextWriter、TextWriter、Assembly
CustomParse2 サンプル
このサンプルでは、ControlBuilder から継承した GetChildControlType メソッドをオーバーライドするカスタム コントロール ビルダを定義します。このメソッドは、追加するコントロールの型を返し、どのコントロールを追加するかを指定するために使用できます。このサンプルのコントロール ビルダは、タグ名が <customitem> である場合だけ子コントロールを追加します。コントロールのコードは CustomParse1 サンプルに非常によく似ていますが、カスタム属性が追加されているという点が異なります。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Collections
このサンプルで使用されているクラス
Control、Message、ControlBuilder、String、Type、Array、ArrayList、Object、ControlBuilderAttribute、HtmlTextWriter、TextWriter、Attribute、Assembly
CustomParse1 サンプル
このサンプルでは、既定の解析ロジックをオーバーライドする CustomParse1
という名前のカスタム コントロールを定義します。このコントロールは、特定の型の子コントロールが解析されるときに、その子コントロールをコレクションに追加します。CustomParse1
の表示ロジックは、コレクションに含まれる項目の数に基づいています。このサンプルでは、Item
という名前の単純なカスタム コントロールも定義されています。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Collections
このサンプルで使用されているクラス
Control、Message、String、Object、ArrayList、Array、HtmlTextWriter、TextWriter、Assembly
Repeater1 サンプル
このサンプルでは、テンプレートのより複雑な使用方法を示し、データ連結コントロールを作成します。このサンプルで定義されている Repeater
コントロールは、System.Web.UI.WebControls.Repeater コントロールに似ています。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Collections
このサンプルで使用されているクラス
Control、Repeater、RepeaterItem、TemplateControl、Container、Object、EventArgs、ArrayList、Binding、Array、DataBinding、Assembly、Page
NonComposition1 サンプル
このサンプルでは、入力ボックスを表示し、ユーザーによって入力されたデータを読み取るカスタム コントロールの例を示します。このコントロールは IPostBackDataHandler インターフェイスを実装しており、1 つのプロパティ (Value) を持ちます。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Collections、System.Web.UI.WebControls、System.Collections.Specialized
このサンプルで使用されているクラス
Control、EventArgs、Object、HtmlTextWriter、TextWriter、WebControl、Assembly、NameValueCollection、String
NonComposition2 サンプル
このサンプルでは、前のサンプル NonComposition1
でビルドしたカスタム コントロール NonComposition2
を定義します。このサンプルでは、NonComposition1
が提供するインターフェイスに加えて 2 つの HtmlButton コントロールが表示されます。これらのコントロールは、クライアント側スクリプトを生成し、このスクリプトによって、これらのコントロールがクリックされたときにポストバック イベントが発生します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Collections、System.Web.UI.WebControls、System.Collections.Specialized
このサンプルで使用されているクラス
Control、Page、String、NameValueCollection、TextWriter、HtmlTextWriter、Assembly、EventArgs、EventHandler、WebControl
Repeater2 サンプル
このサンプルでは、Repeater1 サンプルを改良し、ポストバック時にページの使用者が Items コレクションを反復処理して値を取得できるようにしています。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Collections、System.Web.Util
このサンプルで使用されているクラス
Repeater、Control、RepeaterItem、Array、ArrayList、TemplateControl、RepeaterItemCollection、Container、EventArgs、Object、Binding、DataBinding、TextBox、String、Page、Assembly
Composition3 サンプル
このサンプルでは、TextBox 子コントロールの TextChanged イベントに応答してカスタム イベント Change
を発生させる、Composition3
という複合コントロールを示します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Web.UI.WebControls
このサンプルで使用されているクラス
Control、Button、EventArgs、Literal、TextBox、EventHandler、Object、LiteralControl、WebControl、Assembly、Container、String
Composition2 サンプル
このサンプルでは、Composition1 サンプルの複合コントロールに 2 つのボタン コントロール (Add
および Subtract
) を追加し、ボタンの Click イベントにイベント処理メソッドを提供する複合コントロール Composition2
を示します。これらのメソッドは、Composition2
の Value プロパティをインクリメントおよびデクリメントします。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Web.UI.WebControls
このサンプルで使用されているクラス
Control、Button、Literal、TextBox、LiteralControl、Object、EventHandler、EventArgs、Container、Assembly、WebControl、String
Composition1 サンプル
このサンプルでは、System.Web.UI.LiteralControl と System.Web.UI WebControls.TextBox を組み合わせた複合コントロール Composition1
を定義します。Composition1
は、TextBox の Text プロパティに割り当てられる integer 型のカスタム プロパティ Value
を公開します。
オンラインのサンプル ドキュメントへのリンク
オンラインのサンプル ソース コードへのリンク
このサンプルで使用されている名前空間
System、System.Web、System.Web.UI、System.Web.UI.WebControls
このサンプルで使用されているクラス
Control、TextBox、LiteralControl、EventArgs、Object、Literal、WebControl、Assembly、Container、String