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

屬性值

ClientIDMode

值,指定如何產生 ClientID 屬性 (Property)。 預設為 Inherit

屬性

範例

下列範例顯示 Label 控制項中包含的 ListView 控制項。 在 控制項上 ListView ,屬性會設定為 Predictable ,而 ClientIDRowSuffix 屬性會設定為 ProductID ClientIDMode 。 在轉譯的 HTML 中,這會建立三個對應至三 span ProductIDLabel 個控制項的元素。 當頁面執行時, id 元素的屬性 span 會設定為下列值:

  • 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如果屬性是空白的,則會在結尾加入序號,而不是資料欄值。 這個數位從零開始,而且會針對每個資料列遞增 1。 各區段是以底線字元 (_) 分隔。
Inherit 此控制項會繼承其 ClientIDMode 控制項的 NamingContainer 設定。

頁面的 ClientIDMode 預設值為 Predictable 。 控制項的 ClientIDMode 預設值為 Inherit 。 因為控制項的預設值是 Inherit ,所以預設產生模式為 Predictable 。 不過, (如果您使用 Visual Studio 將 Web 專案轉換為舊版的 ASP.NET 4,Visual Studio會自動將網站預設值 AutoID 設定為 Web.config file.)

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

適用於

另請參閱