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 속성의 생성 방법을 나타내는 값입니다. 기본값은 Inherit입니다.

특성

예제

다음 예와 Label 에 포함 된 컨트롤을 ListView 제어 합니다. 컨트롤에서 ListView 속성이 ClientIDMode 설정 Predictable 되고 속성이 ClientIDRowSuffix .로 ProductID설정됩니다. 렌더링된 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 나열된 열거형 값으로 식별됩니다.

Description
AutoID 컨트롤의 ClientID 값과 각 부모 명명 컨테이너의 ID 값을 연결하여 ID 값이 생성됩니다. 컨트롤의 여러 인스턴스가 렌더링되는 데이터 바인딩 시나리오에서는 컨트롤의 ID 값 앞에 증분 값이 삽입됩니다. 각 세그먼트는 밑줄 문자(_)로 구분됩니다. 이 알고리즘은 ASP.NET 4 이전 버전의 ASP.NET 사용되었습니다.
Static ClientID 값은 ID 속성의 값으로 설정되어 있습니다. 명명 컨테이너인 컨트롤은 해당 컨트롤에 포함된 모든 컨트롤에 대한 명명 컨테이너 계층의 최상위 컨테이너로 사용됩니다.
Predictable 이 알고리즘은 데이터 바인딩된 컨트롤에 있는 컨트롤에 사용됩니다. 컨트롤의 ClientID 값과 부모 명명 컨테이너의 ClientID 값을 연결하여 ID 값이 생성됩니다. 컨트롤이 여러 행을 생성하는 데이터 바인딩된 컨트롤일 경우 ClientIDRowSuffix 속성에 지정된 데이터 필드의 값이 끝에 추가됩니다. GridView 컨트롤의 경우 여러 데이터 필드가 지정될 수 있습니다. 속성이 ClientIDRowSuffix 비어 있으면 데이터 필드 값 대신 끝에 순차 번호가 추가됩니다. 이 숫자는 0에서 시작하여 각 행에 대해 1씩 증가합니다. 각 세그먼트는 밑줄 문자(_)로 구분됩니다.
Inherit 컨트롤은 해당 ClientIDMode 컨트롤의 NamingContainer 설정을 상속합니다.

페이지의 기본값 ClientIDMode 은 .입니다 Predictable. 컨트롤의 ClientIDMode 기본값은 .입니다 Inherit. 컨트롤의 기본값은 .이므로 Inherit기본 생성 모드는 Predictable. 그러나 Visual Studio 사용하여 웹 프로젝트를 이전 버전에서 ASP.NET 4로 변환하는 경우 Visual Studio 자동으로 사이트 기본값을 Web.config 파일로 AutoID 설정합니다.

자세한 내용은 ASP.NET 웹 서버 컨트롤 식별을 참조하세요.

적용 대상

추가 정보