Control クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
すべての ASP.NET サーバー コントロールで共有されるプロパティ、メソッド、およびイベントを定義します。
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IParserAccessor
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IControlBuilderAccessor, System::Web::UI::IControlDesignerAccessor, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IExpressionsAccessor, System::Web::UI::IParserAccessor, System::Web::UI::IUrlResolutionService
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IParserAccessor
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IControlBuilderAccessor, System.Web.UI.IControlDesignerAccessor, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IExpressionsAccessor, System.Web.UI.IParserAccessor, System.Web.UI.IUrlResolutionService
type Control = class
interface IComponent
interface IDisposable
interface IParserAccessor
interface IDataBindingsAccessor
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
type Control = class
interface IComponent
interface IDisposable
interface IParserAccessor
interface IUrlResolutionService
interface IDataBindingsAccessor
interface IControlBuilderAccessor
interface IControlDesignerAccessor
interface IExpressionsAccessor
Public Class Control
Implements IComponent, IDataBindingsAccessor, IDisposable, IParserAccessor
Public Class Control
Implements IComponent, IControlBuilderAccessor, IControlDesignerAccessor, IDataBindingsAccessor, IDisposable, IExpressionsAccessor, IParserAccessor, IUrlResolutionService
- 継承
-
Control
- 派生
- 属性
- 実装
例
次の例では、 Control クラスから派生するカスタム サーバー コントロールを示します。
InnerContent クラスは、Control.Render メソッドをオーバーライドし、クラスにページ上に子コントロールがあるかどうかを確認し、コントロールの最初の子がリテラル コントロールであるかどうかを判断します。 これらの両方の条件が満たされた場合、オーバーライドされたメソッドは HTML 文字列 <H2>メッセージ:、リテラル コントロールの内容、および終了 </H2> タグを Web フォーム ページに書き込みます。
Important
この例には、潜在的なセキュリティ上の脅威であるユーザー入力を受け入れるテキスト ボックスがあります。 既定では、ASP.NET Web ページでは、ユーザー入力にスクリプトや HTML 要素が含まれていないことが検証されます。 詳細については、「スクリプトの 悪用の概要」を参照してください。
using System;
using System.Web;
using System.Web.UI;
namespace SimpleControlSamples {
public class InnerContent : Control {
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="Execution")]
protected override void Render(HtmlTextWriter output) {
if ( (HasControls()) && (Controls[0] is LiteralControl) ) {
output.Write("<H2>Your message : ");
Controls[0].RenderControl(output);
output.Write("</H2>");
}
}
}
}
Option Explicit
Option Strict
Imports System.Web
Imports System.Web.UI
Namespace SimpleControlSamples
Public Class InnerContent
Inherits Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="Execution")> _
Protected Overrides Sub Render(output As HtmlTextWriter)
If HasControls() And TypeOf Controls(0) Is LiteralControl Then
output.Write("<H2>Your message : ")
Controls(0).RenderControl(output)
output.Write("</H2>")
End If
End Sub
End Class
End Namespace 'SimpleControlSamples
注釈
これは、カスタム ASP.NET サーバー コントロールを開発するときに派生するプライマリ クラスです。 Control には、ユーザー インターフェイス (UI) 固有の機能はありません。 UI を持たないコントロールを作成する場合、または独自の UI をレンダリングする他のコントロールを組み合わせる場合は、 Controlから派生します。 UI を持つコントロールを作成する場合は、 WebControl またはカスタム コントロールの適切な開始点を提供する System.Web.UI.WebControls 名前空間内のコントロールから派生します。
Control クラスは、カスタム コントロール、ユーザー コントロール、ページなど、すべての ASP.NET サーバー コントロールの基本クラスです。 ASP.NET ページは、Page クラスのインスタンスであり、Control クラスから継承され、.aspx拡張子を持つファイルの要求を処理します。
Control クラスは、Web アプリケーションのユーザー インターフェイスの一部として直接または間接的に使用できます。そのため、セキュリティで保護されたコードを記述し、アプリケーションをセキュリティで保護するためのベスト プラクティスに従っていることを確認する必要があります。
これらのトピックの一般的な情報については、「Web アプリケーションのセキュリティの脅威、セキュリティ ポリシーのベスト プラクティス、および主要なセキュリティの概念の概要」を参照してください。 詳細については、「標準コントロールのセキュリティ保護」、「方法: 安全なエラー メッセージを表示する方法」、HTML エンコードを文字列に適用して Web アプリケーションのスクリプトの悪用から保護する方法、検証コントロールの概要を参照してください。
コンストラクター
| 名前 | 説明 |
|---|---|
| Control() |
Control クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Adapter |
コントロールのブラウザー固有のアダプターを取得します。 |
| AppRelativeTemplateSourceDirectory |
このコントロールを含む Page または UserControl オブジェクトのアプリケーション相対仮想ディレクトリを取得または設定します。 |
| BindingContainer |
このコントロールのデータ バインディングを含むコントロールを取得します。 |
| ChildControlsCreated |
サーバー コントロールの子コントロールが作成されているかどうかを示す値を取得します。 |
| ClientID |
ASP.NET によって生成される HTML マークアップのコントロール ID を取得します。 |
| ClientIDMode |
ClientID プロパティの値を生成するために使用するアルゴリズムを取得または設定します。 |
| ClientIDSeparator |
ClientID プロパティで使用される区切り文字を表す文字値を取得します。 |
| Context |
現在の Web 要求のサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。 |
| Controls |
UI 階層内の指定したサーバー コントロールの子コントロールを表す ControlCollection オブジェクトを取得します。 |
| DataItemContainer |
名前付けコンテナーが IDataItemContainerを実装する場合は、名前付けコンテナーへの参照を取得します。 |
| DataKeysContainer |
名前付けコンテナーが IDataKeysControlを実装する場合は、名前付けコンテナーへの参照を取得します。 |
| DesignMode |
コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。 |
| EnableTheming |
テーマがこのコントロールに適用されるかどうかを示す値を取得または設定します。 |
| EnableViewState |
サーバー コントロールがそのビューステートを保持するかどうか、およびそれに含まれる子コントロールのビューステートを要求側クライアントに保持するかどうかを示す値を取得または設定します。 |
| Events |
コントロールのイベント ハンドラー デリゲートの一覧を取得します。 このプロパティは読み取り専用です。 |
| HasChildViewState |
現在のサーバー コントロールの子コントロールに保存されたビューステート設定があるかどうかを示す値を取得します。 |
| ID |
サーバー コントロールに割り当てられたプログラム識別子を取得または設定します。 |
| IdSeparator |
コントロール識別子を分離するために使用する文字を取得します。 |
| IsChildControlStateCleared |
このコントロール内に含まれるコントロールがコントロールの状態を持っているかどうかを示す値を取得します。 |
| IsTrackingViewState |
サーバー コントロールがビュー ステートへの変更を保存するかどうかを示す値を取得します。 |
| IsViewStateEnabled |
このコントロールに対してビューステートが有効かどうかを示す値を取得します。 |
| LoadViewStateByID |
インデックスの代わりに ID して、コントロールがビューステートの読み込みに関与するかどうかを示す値を取得します。 |
| NamingContainer |
同じ ID プロパティ値を持つサーバー コントロール間で区別するための一意の名前空間を作成する、サーバー コントロールの名前付けコンテナーへの参照を取得します。 |
| Page |
サーバー コントロールを含む Page インスタンスへの参照を取得します。 |
| Parent |
ページ コントロール階層内のサーバー コントロールの親コントロールへの参照を取得します。 |
| RenderingCompatibility |
レンダリングされた HTML と互換性のある ASP.NET バージョンを指定する値を取得します。 |
| Site |
デザイン サーフェイスにレンダリングされるときに、現在のコントロールをホストするコンテナーに関する情報を取得します。 |
| SkinID |
コントロールに適用するスキンを取得または設定します。 |
| TemplateControl |
このコントロールを含むテンプレートへの参照を取得または設定します。 |
| TemplateSourceDirectory |
現在のサーバー コントロールを含む Page または UserControl の仮想ディレクトリを取得します。 |
| UniqueID |
サーバー コントロールの階層的に修飾された一意の識別子を取得します。 |
| ValidateRequestMode |
コントロールがブラウザーからのクライアント入力で潜在的に危険な値をチェックするかどうかを示す値を取得または設定します。 |
| ViewState |
同じページに対する複数の要求にわたってサーバー コントロールのビューステートを保存および復元できる状態情報のディクショナリを取得します。 |
| ViewStateIgnoresCase |
StateBag オブジェクトで大文字と小文字が区別されないかどうかを示す値を取得します。 |
| ViewStateMode |
このコントロールのビューステート モードを取得または設定します。 |
| Visible |
サーバー コントロールがページ上の UI としてレンダリングされるかどうかを示す値を取得または設定します。 |
メソッド
| 名前 | 説明 |
|---|---|
| AddedControl(Control, Int32) | |
| AddParsedSubObject(Object) |
XML または HTML のいずれかの要素が解析されたことをサーバー コントロールに通知し、その要素をサーバー コントロールの ControlCollection オブジェクトに追加します。 |
| ApplyStyleSheetSkin(Page) |
ページ スタイル シートで定義されているスタイル プロパティをコントロールに適用します。 |
| BeginRenderTracing(TextWriter, Object) |
レンダリング データのデザイン時トレースを開始します。 |
| BuildProfileTree(String, Boolean) |
サーバー コントロールに関する情報を収集し、ページのトレースが有効になっているときに表示される Trace プロパティに渡します。 |
| ClearCachedClientID() |
キャッシュされた ClientID 値を |
| ClearChildControlState() |
サーバー コントロールの子コントロールのコントロール状態情報を削除します。 |
| ClearChildState() |
すべてのサーバー コントロールの子コントロールのビューステート情報とコントロール状態情報を削除します。 |
| ClearChildViewState() |
すべてのサーバー コントロールの子コントロールのビューステート情報を削除します。 |
| ClearEffectiveClientIDMode() |
現在のコントロール インスタンスと子コントロールの ClientIDMode プロパティを Inheritに設定します。 |
| CreateChildControls() |
ASP.NET ページ フレームワークによって呼び出され、コンポジション ベースの実装を使用して、ポスト バックまたはレンダリングの準備として含まれる子コントロールを作成するサーバー コントロールに通知します。 |
| CreateControlCollection() |
サーバー コントロールの子コントロール (リテラルとサーバーの両方) を保持する新しい ControlCollection オブジェクトを作成します。 |
| DataBind() |
呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。 |
| DataBind(Boolean) |
DataBinding イベントを発生させるオプションを使用して、呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。 |
| DataBindChildren() |
データ ソースをサーバー コントロールの子コントロールにバインドします。 |
| Dispose() |
サーバー コントロールがメモリから解放される前に、最終的なクリーンアップを実行できるようにします。 |
| EndRenderTracing(TextWriter, Object) |
レンダリング データのデザイン時トレースを終了します。 |
| EnsureChildControls() |
サーバー コントロールに子コントロールが含まれているかどうかを判断します。 そうでない場合は、子コントロールが作成されます。 |
| EnsureID() |
識別子が割り当てられないコントロールの識別子を作成します。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| FindControl(String, Int32) |
|
| FindControl(String) |
指定した |
| Focus() |
入力フォーカスをコントロールに設定します。 |
| GetDesignModeState() |
コントロールのデザイン時データを取得します。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetRouteUrl(Object) |
ルート パラメーターのセットに対応する URL を取得します。 |
| GetRouteUrl(RouteValueDictionary) |
ルート パラメーターのセットに対応する URL を取得します。 |
| GetRouteUrl(String, Object) |
ルート パラメーターとルート名のセットに対応する URL を取得します。 |
| GetRouteUrl(String, RouteValueDictionary) |
ルート パラメーターとルート名のセットに対応する URL を取得します。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| GetUniqueIDRelativeTo(Control) |
指定したコントロールの UniqueID プロパティのプレフィックス部分を返します。 |
| HasControls() |
サーバー コントロールに子コントロールが含まれているかどうかを判断します。 |
| HasEvents() |
コントロールまたは子コントロールのイベントが登録されているかどうかを示す値を返します。 |
| IsLiteralContent() |
サーバー コントロールがリテラル コンテンツのみを保持するかどうかを決定します。 |
| LoadControlState(Object) |
SaveControlState() メソッドによって保存された前のページ要求から制御状態情報を復元します。 |
| LoadViewState(Object) |
SaveViewState() メソッドによって保存された前のページ要求からビューステート情報を復元します。 |
| MapPathSecure(String) |
仮想パス (絶対パスまたは相対パス) がマップされる物理パスを取得します。 |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| OnBubbleEvent(Object, EventArgs) |
サーバー コントロールのイベントがページの UI サーバー コントロール階層に渡されるかどうかを判断します。 |
| OnDataBinding(EventArgs) |
DataBinding イベントを発生させます。 |
| OnInit(EventArgs) |
Init イベントを発生させます。 |
| OnLoad(EventArgs) |
Load イベントを発生させます。 |
| OnPreRender(EventArgs) |
PreRender イベントを発生させます。 |
| OnUnload(EventArgs) |
Unload イベントを発生させます。 |
| OpenFile(String) |
ファイルの読み取りに使用する Stream を取得します。 |
| RaiseBubbleEvent(Object, EventArgs) |
イベントのソースとその情報をコントロールの親に割り当てます。 |
| RemovedControl(Control) | |
| Render(HtmlTextWriter) |
指定した HtmlTextWriter オブジェクトにサーバー コントロールのコンテンツを送信します。このオブジェクトは、クライアントにレンダリングされるコンテンツを書き込みます。 |
| RenderChildren(HtmlTextWriter) |
指定した HtmlTextWriter オブジェクトにサーバー コントロールの子のコンテンツを出力します。このオブジェクトは、クライアントにレンダリングされるコンテンツを書き込みます。 |
| RenderControl(HtmlTextWriter, ControlAdapter) |
指定されたHtmlTextWriter オブジェクトを使用して、指定されたControlAdapter オブジェクトにサーバー コントロールのコンテンツを出力します。 |
| RenderControl(HtmlTextWriter) |
指定された HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効になっている場合は、コントロールに関するトレース情報を格納します。 |
| ResolveAdapter() |
指定したコントロールのレンダリングを担当するコントロール アダプターを取得します。 |
| ResolveClientUrl(String) |
ブラウザーで使用できる URL を取得します。 |
| ResolveUrl(String) |
URL を、要求側クライアントで使用できる URL に変換します。 |
| SaveControlState() |
ページがサーバーにポストバックされた時刻以降に発生したすべてのサーバー 制御状態の変更を保存します。 |
| SaveViewState() |
ページがサーバーにポストバックされてから発生したサーバー コントロールのビューステートの変更を保存します。 |
| SetDesignModeState(IDictionary) |
コントロールのデザイン時データを設定します。 |
| SetRenderMethodDelegate(RenderMethod) |
サーバー コントロールとそのコンテンツを親コントロールにレンダリングするイベント ハンドラー デリゲートを割り当てます。 |
| SetTraceData(Object, Object, Object) |
トレース オブジェクト、トレース データ キー、およびトレース データ値を使用して、レンダリング データのデザイン時トレース用のトレース データを設定します。 |
| SetTraceData(Object, Object) |
トレース データ キーとトレース データ値を使用して、レンダリング データのデザイン時トレース用のトレース データを設定します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
| TrackViewState() |
ビューステートの変更をサーバー コントロールに追跡して、サーバー コントロールの StateBag オブジェクトに格納できるようにします。 このオブジェクトには、 ViewState プロパティを使用してアクセスできます。 |
イベント
| 名前 | 説明 |
|---|---|
| DataBinding |
サーバー コントロールがデータ ソースにバインドされるときに発生します。 |
| Disposed |
サーバー コントロールがメモリから解放されたときに発生します。これは、ASP.NET ページが要求されたときに、サーバー コントロールライフサイクルの最後のステージです。 |
| Init |
サーバー コントロールが初期化されるときに発生します。これは、そのライフサイクルの最初のステップです。 |
| Load |
サーバー コントロールが Page オブジェクトに読み込まれるときに発生します。 |
| PreRender |
Control オブジェクトが読み込まれた後、レンダリングの前に発生します。 |
| Unload |
サーバー コントロールがメモリからアンロードされるときに発生します。 |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IControlBuilderAccessor.ControlBuilder |
このメンバーの説明については、 ControlBuilderを参照してください。 |
| IControlDesignerAccessor.GetDesignModeState() |
このメンバーの説明については、 GetDesignModeState()を参照してください。 |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
このメンバーの説明については、 SetDesignModeState(IDictionary)を参照してください。 |
| IControlDesignerAccessor.SetOwnerControl(Control) |
このメンバーの説明については、 SetOwnerControl(Control)を参照してください。 |
| IControlDesignerAccessor.UserData |
このメンバーの説明については、 UserDataを参照してください。 |
| IDataBindingsAccessor.DataBindings |
このメンバーの説明については、 DataBindingsを参照してください。 |
| IDataBindingsAccessor.HasDataBindings |
このメンバーの説明については、 HasDataBindingsを参照してください。 |
| IExpressionsAccessor.Expressions |
このメンバーの説明については、 Expressionsを参照してください。 |
| IExpressionsAccessor.HasExpressions |
このメンバーの説明については、 HasExpressionsを参照してください。 |
| IParserAccessor.AddParsedSubObject(Object) |
このメンバーの説明については、 AddParsedSubObject(Object)を参照してください。 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| FindDataSourceControl(Control) |
指定したコントロールのデータ コントロールに関連付けられているデータ ソースを返します。 |
| FindFieldTemplate(Control, String) |
指定したコントロールの名前付けコンテナー内の指定した列のフィールド テンプレートを返します。 |
| FindMetaTable(Control) |
格納されているデータ コントロールのメタテーブル オブジェクトを返します。 |