Control.ClientIDMode プロパティ

定義

ClientID プロパティの値を生成するために使用されるアルゴリズムを取得または設定します。

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

プロパティ値

ClientID プロパティの生成方法を示す値。 既定値は、Inherit です。

属性

次の例は、コントロールに含まれるコントロールをListView示していますLabel。 コントロールでは ListViewClientIDMode プロパティが に Predictable 設定され、 ClientIDRowSuffix プロパティが に ProductID設定されます。 レンダリングされた HTML では、3 つのコントロールに対応する 3 つのspanProductIDLabel要素が作成されます。 ページを実行すると、要素のidspan属性は次の値に設定されます。

  • 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>

注釈

ASP.NET は、プロパティ値を生成する方法に関する複数のアルゴリズムを ClientID 提供します。 コントロールに使用するアルゴリズムを選択するには、そのプロパティを ClientIDMode 設定します。 アルゴリズムは、次の表に ClientIDMode 示す列挙値によって識別されます。

説明
AutoID ClientID 値は、それぞれの親名前付けコンテナーの ID 値とコントロールの ID 値を連結することにより生成されます。 コントロールの複数のインスタンスが表示されるデータ バインディング シナリオでは、コントロールの ID 値の前にインクリメント値が挿入されます。 各セグメントはアンダースコア文字 (_) で区切られます。 このアルゴリズムは、ASP.NET 4 より前のバージョンの ASP.NET で使用されました。
Static ClientID 値は、ID プロパティの値に設定されます。 コントロールが名前付けコンテナーの場合、そのコントロールは、名前付けコンテナーの階層構造に含まれるすべてのコントロールに対して最上位の階層として使用されます。
Predictable このアルゴリズムは、データ バインド コントロール内のコントロールに対して使用されます。 ClientID 値は、親名前付けコンテナーの ClientID 値とコントロールの ID 値を連結することにより生成されます。 コントロールが複数の行を生成するデータ バインド コントロールである場合は、ClientIDRowSuffix プロパティで指定されたデータ フィールドの値が末尾に追加されます。 GridView コントロールの場合は、複数のデータ フィールドを指定できます。 プロパティが空白の ClientIDRowSuffix 場合は、データ フィールド値ではなく、末尾に連続番号が追加されます。 この数値は 0 から始まり、各行に対して 1 ずつインクリメントされます。 各セグメントはアンダースコア文字 (_) で区切られます。
Inherit コントロールは、ClientIDMode コントロールの NamingContainer 設定を継承します。

ページの ClientIDMode 既定値は です Predictable。 コントロールの ClientIDMode 既定値は です Inherit。 コントロールの既定値は Inheritであるため、既定の生成モードは です Predictable。 (ただし、Visual Studio を使用して Web プロジェクトを以前のバージョンから ASP.NET 4 に変換すると、Visual Studio はサイトの既定値を Web.config ファイルで 自動的に に AutoID 設定します)。

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

適用対象

こちらもご覧ください