ClientIDMode 列舉

定義

指定 ASP.NET 如何針對可在用戶端指令碼中存取的控制項產生 ClientID

public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode = 
Public Enum ClientIDMode
繼承
ClientIDMode

欄位

AutoID 1

ClientID 值是透過串連每個父命名容器的 ID 值與控制項的 ID 值產生。 在呈現控制項之多個執行個體的資料繫結情節中,遞增值會插入控制項之 ID 值的前面。 各區段是以底線字元 (_) 分隔。 這是唯一可在比 ASP.NET 4 還舊的版本中使用的演算法。

Inherit 0

此控制項會繼承其 ClientIDMode 控制項的 NamingContainer 設定。

Predictable 2

這個演算法用於資料繫結控制項中的控制項。 ClientID 值是透過串連父命名容器的 ClientID 值與控制項的 ID 值產生。 如果控制項是資料繫結控制項,並且會產生多個資料列,則 ClientIDRowSuffix 屬性中指定之資料欄位的值會加入結尾處。 針對 GridView 控制項,可以指定多個資料欄位。 如果 ClientIDRowSuffix 是空屬性,則會在結尾處加入序號,而不是資料欄位值。 各區段是以底線字元 (_) 分隔。

Static 3

ClientID 值設定為 ID 屬性的值。 如果控制項是命名容器,則對於其包含的所有控制項而言,會用來做為命名容器之階層架構的最上層。

範例

下列範例顯示 Label 控制項中包含的 ListView 控制項。 在 控制項上 ListViewClientIDMode ,屬性會設定為 Predictable,而 ClientIDRowSuffix 屬性會設定為 ProductID 。 從用戶端腳本,您可以根據 ProductID 您嘗試存取的實例值來存取 的特定實例 Label

此範例會建立具有三 ProductIDLabel 個控制項的 HTML。 當頁面執行時,控制項的識別碼會是下列各項:

  • 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 屬性的值不會影響伺服器控制項的 屬性,只會 id 影響 ID 對應 HTML 元素的 屬性。

頁面的 ClientIDMode 預設值為 Predictable。 控制項的 ClientIDMode 預設值為 Inherit。

由於控制項的預設值為 [繼承],因此預設產生模式為 [可預測]。 不過, (,如果您使用 Visual Studio 將 Web 專案轉換成舊版的 ASP.NET 4,Visual Studio 會自動將網站預設設定為 Web.config file.)

您可以藉由在網站的 Web.config 檔案中設定pages元素,來設定 ClientIDMode 網站中所有頁面的值。 您可以在@ Page指示詞中設定 ClientIDMode 頁面的值。

如需詳細資訊,請參閱 ASP.NET 網頁伺服器控制項識別

適用於

另請參閱