다음을 통해 공유


ControlIDConverter 클래스

정의

현재 컨테이너의 컨트롤 ID 목록을 검색할 형식 변환기를 제공합니다.

public ref class ControlIDConverter : System::ComponentModel::StringConverter
public class ControlIDConverter : System.ComponentModel.StringConverter
type ControlIDConverter = class
    inherit StringConverter
Public Class ControlIDConverter
Inherits StringConverter
상속
ControlIDConverter
파생

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 ControlIDConverter 필요로 하는 클래스에는 TypeConverter 컨트롤의 ID를 렌더링 하 합니다. DebugInfoControl 현재 Web Form에 포함 된 컨트롤에 일부 정보를 출력 하는 간단한 컨트롤입니다. 해당 ControlID 속성으로 데코 레이트 된를 TypeConverterAttribute 를 지정 하는 합니다 ControlIDConverterTypeConverter 해당 속성에 사용할 합니다. DebugInfoControl 재정의 Render 대상 컨트롤에 대 한 정보를 인쇄 하는 메서드를 Label 제어 합니다.

namespace Samples.AspNet.CS {

  using System;
  using System.ComponentModel;
  using System.Web.UI;
  using System.Web.UI.WebControls;

  [DefaultProperty("ControlID")]
  public class DebugInfoControl : Control {

    public DebugInfoControl() {
    }

    public DebugInfoControl(string controlID) {
      ControlID = controlID;
    }

    [DefaultValue(""),
    TypeConverter(typeof(ControlIDConverter))]
    public string ControlID {
      get {
        object o = ViewState["ControlID"];
        if (o == null)
          return String.Empty;
        return (string)o;
      }
      set {
        if (ControlID != value) {
          ViewState["ControlID"] = value;
        }
      }
    }

    protected override void Render(HtmlTextWriter writer) {

      Label info = new Label();

      if (this.ControlID.Length == 0) {
        writer.Write("<Font Color='Red'>No ControlID set.</Font>");
      }

      Control ctrl = this.FindControl(ControlID);

      if (ctrl == null) {
        writer.Write("<Font Color='Red'>Could not find control " +  ControlID + " in Naming Container.</Font>");
      }
      else {
        writer.Write("<Font Color='Green'>Control " + ControlID + " found.<BR>");
        writer.Write("Its Naming Container is: " + ctrl.NamingContainer.ID + "<BR>");
        if (ctrl.EnableViewState)
          writer.Write("It uses view state to persist its state.<BR>");

        if (ctrl.EnableTheming)
          writer.Write("It can be assigned a Theme ID.<BR>");

        if (ctrl.Visible)
          writer.Write("It is visible on the page.<BR>");
        else
          writer.Write("It is not visible on the page.<BR>");

        writer.Write("</Font>");
      }
    }
  }
}
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet.VB

  <DefaultProperty("ControlID")>  _
  Public Class DebugInfoControl
     Inherits Control


     Public Sub New()
     End Sub


     Public Sub New(controlID As String)
        ControlID = controlID
     End Sub


     <DefaultValue(""), TypeConverter(GetType(ControlIDConverter))>  _
     Public Property ControlID() As String
        Get
           Dim o As Object = ViewState("ControlID")
           If o Is Nothing Then
              Return String.Empty
           End If
           Return CStr(o)
        End Get
        Set
           If ControlID <> value Then
              ViewState("ControlID") = value
           End If
        End Set
     End Property


     Protected Overrides Sub Render(writer As HtmlTextWriter)

        Dim info As New Label()

        If Me.ControlID.Length = 0 Then
           writer.Write("<Font Color='Red'>No ControlID set.</Font>")
        End If

        Dim ctrl As Control = Me.FindControl(ControlID)


        If ctrl Is Nothing Then
           writer.Write(("<Font Color='Red'>Could not find control " + ControlID + " in Naming Container.</Font>"))
        Else
           writer.Write(("<Font Color='Green'>Control " + ControlID + " found.<BR>"))
           writer.Write(("Its Naming Container is: " + ctrl.NamingContainer.ID + "<BR>"))
           If ctrl.EnableViewState Then
              writer.Write("It uses view state to persist its state.<BR>")
           End If
           If ctrl.EnableTheming Then
              writer.Write("It can be assigned a Theme ID.<BR>")
           End If
           If ctrl.Visible Then
              writer.Write("It is visible on the page.<BR>")
           Else
              writer.Write("It is not visible on the page.<BR>")
           End If
           writer.Write("</Font>")
        End If
     End Sub
  End Class
End Namespace

다음 코드 예제에서는 하는 방법을 DebugInfoControl 와 함께 웹 폼에서 사용할 수는 AccessDataSource 컨트롤에 대 한 정보를 표시 하는 AccessDataSource 제어 합니다.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" assembly="Samples.AspNet.CS" %>
<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataReader"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID FROM Orders WHERE EmployeeID=2">
      </asp:accessdatasource>

      <br />
      <aspSample:debuginfocontrol
          id="DebugInfoControl1"
          runat="server"
          controlid="AccessDataSource1" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" assembly="Samples.AspNet.VB" %>
<%@ Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataReader"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID FROM Orders WHERE EmployeeID=2">
      </asp:accessdatasource>

      <br />
      <aspSample:debuginfocontrol
          id="DebugInfoControl1"
          runat="server"
          controlid="AccessDataSource1" />

    </form>
  </body>
</html>

설명

합니다 ControlIDConverter 클래스에서 파생 되는 StringConverter 클래스 및 디자인 타임 환경에서 속성 표 컨트롤에 표시 하기 위한 컨트롤 Id의 목록을 제공 합니다. ControlIDConverter 클래스에 대 한 기본 클래스 역할도 합니다 AssociatedControlConverterValidatedControlConverter 웹 컨트롤 및 유효성 검사 속성 특성을 각각 지 원하는 컨트롤에 대 한 형식 변환기 클래스를.

형식 변환기에 대 한 자세한 내용은 참조 하세요. 방법: 형식 변환기를 구현 하거나 일반화 된 형식 변환합니다.

생성자

ControlIDConverter()

ControlIDConverter 클래스의 새 인스턴스를 초기화합니다.

메서드

CanConvertFrom(ITypeDescriptorContext, Type)

이 변환기가 지정된 컨텍스트를 사용하여 지정된 소스 형식의 개체를 문자열로 변환할 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 StringConverter)
CanConvertFrom(Type)

이 변환기가 지정된 형식의 개체를 이 변환기의 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

지정된 컨텍스트를 사용하여 이 변환기에서 개체를 지정된 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
CanConvertTo(Type)

이 변환기가 개체를 지정된 형식으로 변환할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

지정된 값 개체를 String 개체로 변환합니다.

(다음에서 상속됨 StringConverter)
ConvertFrom(Object)

지정된 값을 이 변환기의 형식으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

고정 문화권 및 지정된 컨텍스트를 사용하여 지정된 문자열을 이 변환기의 형식으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFromInvariantString(String)

고정 문화권을 사용하여, 지정된 문자열을 이 변환기의 형식으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

지정된 컨텍스트 및 문화권 정보를 사용하여, 지정된 텍스트를 개체로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

지정된 컨텍스트를 사용하여, 지정된 텍스트를 개체로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertFromString(String)

지정된 텍스트를 개체로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

지정한 컨텍스트와 culture 정보를 사용하여 지정된 값 개체를 지정된 유형으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertTo(Object, Type)

인수를 사용하여, 지정된 값 개체를 지정된 형식으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

지정된 context를 사용하여, 지정된 값을 고정 문화권의 문자열 표현으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertToInvariantString(Object)

지정된 값을 고정 문화권의 문자열 표현으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

지정된 컨텍스트 및 문화권 정보를 사용하여, 지정된 값을 문자열 표현으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

지정된 컨텍스트를 사용하여, 지정된 값을 문자열 표현으로 변환합니다.

(다음에서 상속됨 TypeConverter)
ConvertToString(Object)

지정된 값을 문자열 표현으로 변환합니다.

(다음에서 상속됨 TypeConverter)
CreateInstance(IDictionary)

개체의 속성 값 집합이 지정된 Object를 다시 만듭니다.

(다음에서 상속됨 TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

지정된 컨텍스트를 사용하여 이 TypeConverter가 연결된 형식의 인스턴스를 만들어 개체의 속성 값 집합을 제공합니다.

(다음에서 상속됨 TypeConverter)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
FilterControl(Control)

지정한 컨트롤의 컨트롤 ID가 TypeConverter.StandardValuesCollection 메서드가 반환하는 GetStandardValues(ITypeDescriptorContext)에 추가되는지 여부를 나타내는 값을 반환합니다.

GetConvertFromException(Object)

변환을 수행할 수 없을 때 발생하는 예외를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetConvertToException(Object, Type)

변환을 수행할 수 없을 때 발생하는 예외를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetCreateInstanceSupported()

이 개체의 값을 변경할 때 CreateInstance(IDictionary) 메서드를 호출하여 새 값을 만들어야 하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

이 개체의 값을 변경하려는 경우 CreateInstance(IDictionary) 호출을 통해 지정된 컨텍스트를 사용하여 새 값을 만들어야 하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetProperties(ITypeDescriptorContext, Object)

지정된 컨텍스트를 사용하여, 값 매개 변수로 지정한 배열 형식에 대한 속성 컬렉션을 반환합니다.

(다음에서 상속됨 TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

지정된 컨텍스트 및 특성을 사용하여 값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

(다음에서 상속됨 TypeConverter)
GetProperties(Object)

값 매개 변수로 지정된 배열 형식에 대한 속성 컬렉션을 반환합니다.

(다음에서 상속됨 TypeConverter)
GetPropertiesSupported()

이 개체가 속성을 지원하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

이 개체가 지정된 컨텍스트를 사용하여 속성을 지원하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetStandardValues()

이 형식 변환기를 사용하도록 디자인된 데이터 형식의 기본 컨텍스트에서 표준 값 컬렉션을 반환합니다.

(다음에서 상속됨 TypeConverter)
GetStandardValues(ITypeDescriptorContext)

형식 컨텍스트가 제공되면 IDesignerHost에 있는 컨테이너에서 컨트롤 ID 컬렉션을 반환합니다.

GetStandardValuesExclusive()

GetStandardValues()에서 반환된 표준 값 컬렉션이 단독 목록인지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

지정한 컨텍스트를 사용하여 GetStandardValues(ITypeDescriptorContext) 메서드에서 반환한 표준 값 컬렉션이 가능한 값을 모두 포함한 단독 목록인지 여부를 나타내는 값을 반환합니다.

GetStandardValuesSupported()

이 개체가 목록에서 선택할 수 있는 표준 값 집합을 지원하는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

지정한 컨텍스트를 사용하여 이 개체가 목록에서 선택할 수 있는 표준 컨트롤 ID 값 집합을 지원하는지 여부를 나타내는 값을 반환합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsValid(ITypeDescriptorContext, Object)

지정된 값 개체가 이 형식 및 지정된 컨텍스트에 대해 유효한지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
IsValid(Object)

지정된 값 개체를 이 형식에 사용할 수 있는지 여부를 반환합니다.

(다음에서 상속됨 TypeConverter)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SortProperties(PropertyDescriptorCollection, String[])

속성 컬렉션을 정렬합니다.

(다음에서 상속됨 TypeConverter)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보