ClientIDMode 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クライアント スクリプトでアクセスできるコントロールの ClientID を ASP.NET が生成する方法を指定します。
public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode =
Public Enum ClientIDMode
- 継承
フィールド
AutoID | 1 | ClientID 値は、それぞれの親名前付けコンテナーの ID 値とコントロールの ID 値を連結することにより生成されます。 コントロールの複数のインスタンスが表示されるデータ バインディング シナリオでは、コントロールの ID 値の前にインクリメント値が挿入されます。 各セグメントはアンダースコア文字 (_) で区切られます。 このアルゴリズムは、ASP.NET 4 より前のバージョンの ASP.NET で使用できた唯一のアルゴリズムです。 |
Inherit | 0 | コントロールは、ClientIDMode コントロールの NamingContainer 設定を継承します。 |
Predictable | 2 | このアルゴリズムは、データ バインド コントロール内のコントロールに対して使用されます。 ClientID 値は、親名前付けコンテナーの ClientID 値とコントロールの ID 値を連結することにより生成されます。 コントロールが複数の行を生成するデータ バインド コントロールである場合は、ClientIDRowSuffix プロパティで指定されたデータ フィールドの値が末尾に追加されます。 GridView コントロールの場合は、複数のデータ フィールドを指定できます。 ClientIDRowSuffix プロパティが空白である場合、データ フィールド値の代わりに連続する番号が末尾に追加されます。 各セグメントはアンダースコア文字 (_) で区切られます。 |
Static | 3 | ClientID 値は、ID プロパティの値に設定されます。 コントロールが名前付けコンテナーの場合、そのコントロールは、名前付けコンテナーの階層構造に含まれるすべてのコントロールに対して最上位の階層として使用されます。 |
例
次の例は、コントロールに含まれるコントロールをListView示していますLabel。 コントロールでは ListView 、 ClientIDMode プロパティが Predictable に設定され、 ClientIDRowSuffix プロパティが に ProductID
設定されます。 クライアント スクリプトから、アクセスしようとしているインスタンスの Label 値に ProductID
基づいて、 の特定のインスタンスにアクセスできます。
この例では、3 つの ProductIDLabel
コントロールを含む HTML を作成します。 ページを実行すると、コントロールの ID は次のようになります。
ListView1_ProductIDLabel_1
ListView1_ProductIDLabel_34
ListView1_ProductIDLabel_43
<asp:XmlDataSource ID="XmlDataSource1" runat="server"
XPath="Products/Product">
<Data>
<Products>
<Product ProductID="1" ProductName="Chai" />
<Product ProductID="34" ProductName="Ale" />
<Product ProductID="43" ProductName="Coffee" />
</Products>
</Data>
</asp:XmlDataSource>
<asp:ListView ID="ListView1"
ClientIDMode="Predictable"
ClientIDRowSuffix="ProductID"
DataSourceID="XmlDataSource1" runat="server" >
<ItemTemplate>
ProductID:
<asp:Label ID="ProductIDLabel" runat="server"
Text='<%# Eval("ProductID") %>' />
<br />
ProductName:
<asp:Label ID="ProductNameLabel" runat="server"
Text='<%# Eval("ProductName") %>' />
<br />
<br />
</ItemTemplate>
<LayoutTemplate>
<div ID="itemPlaceholderContainer" runat="server">
<span ID="itemPlaceholder" runat="server" />
</div>
<div>
</div>
</LayoutTemplate>
</asp:ListView>
注釈
コントロールの プロパティを ClientIDMode 設定するときは、 ClientIDMode 列挙体を使用します。 プロパティに割り当てる値によって、 ClientIDMode プロパティの生成方法が ClientID 決まります。 プロパティの ClientID 値はマークアップの属性として id
レンダリングされ、クライアント スクリプトからコントロールにアクセスするために使用する値です。 プロパティにClientIDMode割り当てる値は、サーバー コントロールのプロパティには影響せず、対応する HTML 要素の属性にのみid
影響IDします。
ページの ClientIDMode 既定値は Predictable です。 コントロールの ClientIDMode 既定値は Inherit です。
コントロールの既定値は Inherit であるため、既定の生成モードは Predictable です。 (ただし、Visual Studio を使用して Web プロジェクトを以前のバージョンから ASP.NET 4 に変換する場合、Visual Studio はサイトの既定値を Web.config ファイルの AutoID に自動的に設定します)。
Web サイト内のすべてのページの ClientIDMode
値を設定するには、サイトの Web.config ファイル内の pages 要素を設定します。 ページの値は ClientIDMode
、 @ Page ディレクティブで設定できます。
詳細については、ASP.NET Web サーバー コントロールの識別に関する記事をご覧ください。
適用対象
こちらもご覧ください
.NET