ClientIDMode 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定 ASP.NET 如何針對可在用戶端指令碼中存取的控制項產生 ClientID。
public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode =
Public Enum 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 網頁伺服器控制項識別。