Control.ClientIDMode Control.ClientIDMode Control.ClientIDMode Control.ClientIDMode Property


ClientID プロパティの値を生成するために使用されるアルゴリズムを取得または設定します。Gets or sets the algorithm that is used to generate the value of the ClientID property.

 virtual property System::Web::UI::ClientIDMode ClientIDMode { System::Web::UI::ClientIDMode get(); void set(System::Web::UI::ClientIDMode value); };
public virtual System.Web.UI.ClientIDMode ClientIDMode { get; set; }
member this.ClientIDMode : System.Web.UI.ClientIDMode with get, set
Public Overridable Property ClientIDMode As ClientIDMode


ClientID プロパティの生成方法を示す値。A value that indicates how the ClientID property is generated. 既定値は、Inherit です。The default is Inherit.

次の例はLabelListViewコントロールに含まれるコントロールを示しています。The following example shows Label controls that are contained in a ListView control. Predictable ProductIDコントロールでは、プロパティはに設定され、プロパティはに設定されます。ClientIDRowSuffix ClientIDMode ListViewOn the ListView control, the ClientIDMode property is set to Predictable and the ClientIDRowSuffix property is set to ProductID. レンダリングされた HTML では、 span 3 つProductIDLabelのコントロールに対応する3つの要素が作成されます。In the rendered HTML, this creates three span elements that correspond to three ProductIDLabel controls. ページを実行idすると、 span要素の属性は次の値に設定されます。When the page runs, the id attributes for the span elements are set to the following values:

  • ListView1_ProductIDLabel_1

  • ListView1_ProductIDLabel_34

  • ListView1_ProductIDLabel_43


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. この値は0から始まり、行ごとに1ずつインクリメントされます。This number begins at zero and is incremented by 1 for each row. 各セグメントはアンダースコア文字 () で区切られます。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 に変換する場合、web.config ファイルでは、 AutoID visual studio によってサイトの既定値が自動的にに設定されます)。(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.