共用方式為


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 屬性 (Property)。 預設為 Inherit

屬性

範例

下列範例顯示 Label 控件中包含的 ListView 控制項。 在控件上ListView,屬性會設定為 Predictable ,而 ClientIDRowSuffix 屬性會設定為 ProductIDClientIDMode 。 在轉譯的 HTML 中,這會建立三個對應至三spanProductIDLabel個控件的元素。 當頁面執行時, 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 網頁伺服器控制項識別

適用於

另請參閱