Control.ClientID Control.ClientID Control.ClientID Control.ClientID Property


ASP.NET によって生成される HTML マークアップのコントロール ID を取得します。Gets the control ID for HTML markup that is generated by ASP.NET.

 virtual property System::String ^ ClientID { System::String ^ get(); };
public virtual string ClientID { get; }
member this.ClientID : string
Public Overridable ReadOnly Property ClientID As String


ASP.NET によって生成される HTML マークアップのコントロール ID。The control ID for HTML markup that is generated by ASP.NET.

次の例では、マスター ページのコンテンツ ページ内にある Web ユーザー コントロールを示します。The following examples show a Web user control that is inside a content page for a master page. ユーザー コントロールに含まれる、DropDownListコントロールとLabelコントロール。The user control contains a DropDownList control and a Label control. 表示されるテキスト、Labelコントロールは、ユーザーがから選択する値によって決定されます、DropDownListコントロール。The text that is displayed in the Label control is determined by the value that the user selects from the DropDownList control. Web ページがこの値を設定するには、サーバーにポストバックする必要があるないように、クライアント スクリプトをテキスト値が設定されます。The text value is set through client script so that the Web page does not have to post back to the server in order to set this value. レンダリングされる HTML 要素への参照を取得する、Labelコントロール、クライアント スクリプトでは、コントロールの値を知る必要がありますClientIDプロパティ。To get a reference to the HTML element that is rendered for the Label control in client script, you must know the value of the control's ClientID property. ただし、ユーザー コントロールは、Web ページのどこでも配置できます、ためには、どの名前付けコンテナーは、コントロールを含む事前に把握することはできません。However, because the user control can be put anywhere in a Web page, it is impossible to know in advance which naming containers will contain the controls. 確認する、ClientIDと同じ値になります、ID値に設定するコードのセット、ClientIDMode値をStaticします。To make sure that the ClientID value will be the same as the ID value, the code sets the ClientIDMode value to Static.

次の例では、ユーザー コントロールを示します。The following example shows the user control.

次の例では、ユーザー コントロールを格納するコンテンツ ページを示します。The following example shows the content page that contains the user control.

次の例では、コンテンツ ページが含まれているマスター ページを示します。The following example shows the master page that contains the content page.


Web サーバー コントロールが、HTML 要素としてレンダリングされるときに、 id HTML 要素の属性の値に設定されて、ClientIDプロパティ。When a Web server control is rendered as an HTML element, the id attribute of the HTML element is set to the value of the ClientID property. ClientIDを使用してクライアント スクリプトで HTML 要素へのアクセスに使用される多くの場合、値、document.getElementByIdメソッド。The ClientID value is often used to access the HTML element in client script by using the document.getElementById method. ID は、要素のスタイルを指定する多くの場合も CSS 規則で使用されます。The ID is also often used in CSS rules to specify elements to style. たとえば、次の CSS スタイル規則がすべて選択spanを持つ要素、id属性の値ProductIDLabel設定とそのbackground-color属性をwhite:For example, the following CSS style rule selects all span elements that have the id attribute value of ProductIDLabel and sets their background-color attribute to white:

span#ProductIDLabel { background-color: white; }  

ASP.NET には、生成する方法の複数のアルゴリズムが用意されています、ClientIDプロパティの値。ASP.NET provides multiple algorithms for how to generate the ClientID property value. 設定して、コントロールを使用するアルゴリズムを選択したそのClientIDModeプロパティ。You select which algorithm to use for a control by setting its ClientIDMode property. アルゴリズムがで識別される、ClientIDMode次の表に記載されている列挙値。The algorithms are identified by the ClientIDMode enumeration values that are listed in the following table.

[値]Value 説明Description
AutoID ClientID 値は、それぞれの親名前付けコンテナーの ID 値とコントロールの ID 値を連結することにより生成されます。The ClientID value is generated by concatenating the ID values of each parent naming container with the ID value of the control. コントロールの複数のインスタンスが表示されるデータ バインディング シナリオでは、コントロールの ID 値の前にインクリメント値が挿入されます。In data-binding scenarios where multiple instances of a control are rendered, an incrementing value is inserted in front of the control's ID value. 各セグメントはアンダースコア文字 () で区切られます。Each segment is separated by an underscore character (). このアルゴリズムは、ASP.NET 4 より前のバージョンの ASP.NET で使用されました。This algorithm was used in versions of ASP.NET earlier than ASP.NET 4.
Static ClientID 値は、ID プロパティの値に設定されます。The ClientID value is set to the value of the ID property. コントロールが名前付けコンテナーの場合、そのコントロールは、名前付けコンテナーの階層構造に含まれるすべてのコントロールに対して最上位の階層として使用されます。If the control is a naming container, the control is used as the top of the hierarchy of naming containers for any controls that it contains.
Predictable このアルゴリズムは、データ バインド コントロール内のコントロールに対して使用されます。This algorithm is used for controls that are in data-bound controls. ClientID 値は、親名前付けコンテナーの ClientID 値とコントロールの ID 値を連結することにより生成されます。The ClientID value is generated by concatenating the ClientID value of the parent naming container with the ID value of the control. コントロールが複数の行を生成するデータ バインド コントロールである場合は、ClientIDRowSuffix プロパティで指定されたデータ フィールドの値が末尾に追加されます。If the control is a data-bound control that generates multiple rows, the value of the data field specified in the ClientIDRowSuffix property is added at the end. GridView コントロールの場合は、複数のデータ フィールドを指定できます。For the GridView control, multiple data fields can be specified. 場合、ClientIDRowSuffixプロパティが空白で連番がデータ フィールドの値ではなく最後に追加します。If the ClientIDRowSuffix property is blank, a sequential number is added at the end instead of a data-field value. 各セグメントはアンダースコア文字 () で区切られます。Each segment is separated by an underscore character ().
Inherit コントロールは、ClientIDMode コントロールの NamingContainer 設定を継承します。The control inherits the ClientIDMode setting of its NamingContainer control.

既定値ClientIDModeページはPredictableします。The default value of ClientIDMode for a page is Predictable. 既定値ClientIDModeコントロールはInheritします。The default value of ClientIDMode for a control is Inherit. コントロールの既定値はためInheritモードは既定の生成、Predictableします。Because the default for controls is Inherit, the default generation mode is Predictable. (ただし、Visual Studio を使用して、以前のバージョンから Web プロジェクトを ASP.NET 4 に変換する場合は、Visual Studio に自動的にサイトの既定値を設定AutoIDWeb.config ファイルにします)。(However, if you use Visual Studio to convert a Web project to ASP.NET 4 from an earlier version, Visual Studio automatically sets the site default to AutoID in the Web.config file.)

詳細については、ASP.NET Web サーバー コントロールの識別に関する記事をご覧ください。For more information, see ASP.NET Web Server Control Identification.