ClientIDMode 열거형

정의

ASP.NET이 클라이언트 스크립트에서 액세스할 수 있는 ClientID를 생성하는 방법을 지정합니다.Specifies how ASP.NET generates the ClientID for a control that can be accessed in client script.

public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode = 
Public Enum ClientIDMode
상속
ClientIDMode

필드

AutoID 1

컨트롤의 ClientID 값과 각 부모 명명 컨테이너의 ID 값을 연결하여 ID 값이 생성됩니다.The ClientID value is generated by concatenating the ID values of each parent naming container with the ID value of the control. 컨트롤의 여러 인스턴스가 렌더링되는 데이터 바인딩 시나리오에서는 컨트롤의 ID 값 앞에 증분 값이 삽입됩니다.In data-binding scenarios where multiple instances of a control are rendered, an incrementing value is inserted in front of the control's ID value. 각 세그먼트는 밑줄 문자 ()로 구분 됩니다.Each segment is separated by an underscore character (). 이 알고리즘은 ASP.NET 4 이전 버전의 ASP.NET에서 사용할 수 있는 유일한 알고리즘입니다.This algorithm is the only one that was available in versions of ASP.NET earlier than ASP.NET 4.

Inherit 0

컨트롤은 해당 ClientIDMode 컨트롤의 NamingContainer 설정을 상속합니다.The control inherits the ClientIDMode setting of its NamingContainer control.

Predictable 2

이 알고리즘은 데이터 바인딩된 컨트롤에 있는 컨트롤에 사용 됩니다.This algorithm is used for controls that are in data-bound controls. 컨트롤의 ClientID 값과 부모 명명 컨테이너의 ClientID 값을 연결하여 ID 값이 생성됩니다.The ClientID value is generated by concatenating the ClientID value of the parent naming container with the ID value of the control. 컨트롤이 여러 행을 생성하는 데이터 바인딩된 컨트롤일 경우 ClientIDRowSuffix 속성에 지정된 데이터 필드의 값이 끝에 추가됩니다.If the control is a data-bound control that generates multiple rows, the value of the data field specified in the ClientIDRowSuffix property is added at the end. GridView 컨트롤의 경우 여러 데이터 필드가 지정될 수 있습니다.For the GridView control, multiple data fields can be specified. ClientIDRowSuffix 속성이 비어 있으면 데이터 필드 값 대신 일련 번호가 끝에 추가됩니다.If the ClientIDRowSuffix property is blank, a sequential number is added at the end instead of a data field value. 각 세그먼트는 밑줄 문자 ()로 구분 됩니다.Each segment is separated by an underscore character ().

Static 3

ClientID 값은 ID 속성의 값으로 설정되어 있습니다.The ClientID value is set to the value of the ID property. 명명 컨테이너 컨트롤을 사용 하는 경우 컨트롤을 포함 하는 모든 컨트롤에 대 한 명명 컨테이너 계층의 최상위도 사용 됩니다.If the control is a naming container, the control is used as the top of the hierarchy of naming containers for any controls that it contains.

예제

다음 예와 Label 에 포함 된 컨트롤을 ListView 제어 합니다.The following example shows Label controls that are contained in a ListView control. ListView 컨트롤을 ClientIDMode 예측 가능 속성 및 ClientIDRowSuffix 속성 ProductID.On the ListView control, the ClientIDMode property is set to Predictable and the ClientIDRowSuffix property is set to ProductID. 클라이언트 스크립트에서의 특정 인스턴스를 액세스할 수 있습니다는 Label 기반는 ProductID 액세스 하려는 인스턴스의 값입니다.From client script, you can access a particular instance of a Label based on the ProductID value of the instance that you are trying to access.

이 예제에서는 세 가지를 사용 하 여 HTML을 만듭니다 ProductIDLabel 컨트롤입니다.This example creates HTML with three ProductIDLabel controls. 페이지를 실행 하는 경우 다음 컨트롤에 대 한 Id 됩니다.When the page runs, the IDs for the controls will be the following:

  • 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 컨트롤의 속성입니다.You use the ClientIDMode enumeration when you set the ClientIDMode property for a control. 에 할당 하는 값을 ClientIDMode 속성을 결정 하는 방법을 ClientID 속성이 생성 됩니다.The value that you assign to the ClientIDMode property determines how the ClientID property is generated. 값을 ClientID 속성으로 렌더링 되는 id 태그 및 해당 특성은 클라이언트 스크립트에서 액세스를 제어 하는 데 사용할 수 있는 값.The value of the ClientID property is rendered as the id attribute in markup, and it is the value that you use to access the control from client script. 에 할당 하는 값을 ClientIDMode 속성에 영향을 주지 않습니다를 ID 서버 컨트롤의 속성은 id 해당 HTML 요소의 특성입니다.The value that you assign to the ClientIDMode property does not affect the ID property of the server control, only the id attribute of the corresponding HTML element.

기본값은 ClientIDMode 페이지는 예측 가능 합니다.The default value of ClientIDMode for a page is Predictable. 기본값은 ClientIDMode 컨트롤은 상속에 대 한 합니다.The default value of ClientIDMode for a control is Inherit.

컨트롤에 대 한 기본 상속 되므로, 기본 생성 모드는 예측 가능 합니다.Because the default for controls is Inherit, the default generation mode is Predictable. 그러나 (이전 버전에서 ASP.NET 4 웹 프로젝트를 변환 하려면 Visual Studio를 사용 하는 경우 Visual Studio 자동 설정 사이트 기본 AutoID Web.config 파일에서 됩니다.)(However, if you use Visual Studio to convert a Web project to ASP.NET 4 from an earlier version, Visual Studio automatically sets the site default to AutoID in the Web.config file.)

사이트의 Web.config 파일에서 pages 요소를 설정 하 여 웹 사이트의 모든 페이지에 대 한 ClientIDMode 값을 설정할 수 있습니다.You can set the ClientIDMode value for all pages in a Web site by setting the pages element in the site's Web.config file. @ Page 지시문에서 페이지의 ClientIDMode 값을 설정할 수 있습니다.You can set the ClientIDMode value for a page in the @ Page directive.

자세한 내용은 ASP.NET 웹 서버 컨트롤 식별을 참조하세요.For more information, see ASP.NET Web Server Control Identification.

적용 대상

추가 정보