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 網頁伺服器控制項識別。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:提交並檢視相關的意見反應