ControlIDConverter Classe

Definição

Fornece um conversor de tipos que recupera uma lista de IDs de controlo no contentor atual.

public ref class ControlIDConverter : System::ComponentModel::StringConverter
public class ControlIDConverter : System.ComponentModel.StringConverter
type ControlIDConverter = class
    inherit StringConverter
Public Class ControlIDConverter
Inherits StringConverter
Herança
ControlIDConverter
Derivado

Exemplos

O exemplo de código seguinte demonstra como usar o ControlIDConverter numa classe que exige que um TypeConverter renderize o ID de um controlo. É DebugInfoControl um controlo simples que imprime alguma informação sobre um controlo contido no Web Form atual. A sua ControlID propriedade é decorada com um TypeConverterAttribute que designa o ControlIDConverter como o TypeConverter a usar para essa propriedade. O DebugInfoControl método sobrepõe-se ao Render método para imprimir informações sobre o controlo alvo num Label controlo.

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

O exemplo de código seguinte demonstra como pode DebugInfoControl ser usado num Web Form juntamente com um AccessDataSource controlo para mostrar informação sobre o AccessDataSource controlo.

<%@ 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>

Observações

A ControlIDConverter classe deriva da StringConverter classe e fornece uma lista de IDs de controlo para exibição num controlo de grelha de propriedade em ambientes de design. A ControlIDConverter classe serve também como classe base para as AssociatedControlConverter classes e, ValidatedControlConverter que são conversores de tipos para controlos Web e controlos que suportam atributos de propriedades de validação, respetivamente.

Para mais informações sobre conversores de tipos, veja Como: Implementar um Conversor de Tipos ou Conversão de Tipos Generalizada.

Construtores

Name Description
ControlIDConverter()

Inicializa uma nova instância da ControlIDConverter classe.

Métodos

Name Description
CanConvertFrom(ITypeDescriptorContext, Type)

Obtém um valor que indica se este conversor pode converter um objeto do tipo de fonte dado numa cadeia usando o contexto especificado.

(Herdado de StringConverter)
CanConvertFrom(Type)

Devolve se este conversor pode converter um objeto do tipo dado para o tipo deste conversor.

(Herdado de TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Devolve se este conversor pode converter o objeto para o tipo especificado, usando o contexto especificado.

(Herdado de TypeConverter)
CanConvertTo(Type)

Devolve se este conversor pode converter o objeto para o tipo especificado.

(Herdado de TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Converte o objeto de valor especificado num String objeto.

(Herdado de StringConverter)
ConvertFrom(Object)

Converte o valor dado para o tipo deste conversor.

(Herdado de TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte a cadeia dada para o tipo deste conversor, usando a cultura invariante e o contexto especificado.

(Herdado de TypeConverter)
ConvertFromInvariantString(String)

Converte a cadeia dada para o tipo deste conversor, usando a cultura invariante.

(Herdado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Converte o texto dado num objeto, usando a informação específica de contexto e cultura.

(Herdado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Converte o texto dado num objeto, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertFromString(String)

Converte o texto especificado num objeto.

(Herdado de TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Converte o objeto de valor dado para o tipo especificado, usando o contexto e a informação de cultura especificados.

(Herdado de TypeConverter)
ConvertTo(Object, Type)

Converte o objeto de valor dado para o tipo especificado, usando os argumentos.

(Herdado de TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte o valor especificado para uma representação de cordas invariante à cultura, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertToInvariantString(Object)

Converte o valor especificado para uma representação de cordas invariante à cultura.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Converte o valor dado numa representação de cadeia, usando a informação específica de contexto e cultura.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Converte o valor dado numa representação de cadeia, usando o contexto dado.

(Herdado de TypeConverter)
ConvertToString(Object)

Converte o valor especificado numa representação de cadeia.

(Herdado de TypeConverter)
CreateInstance(IDictionary)

Recria um Object dado conjunto de valores de propriedade para o objeto.

(Herdado de TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Cria uma instância do tipo a que isto TypeConverter está associado, usando o contexto especificado, dado um conjunto de valores de propriedade para o objeto.

(Herdado de TypeConverter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FilterControl(Control)

Devolve um valor que indica se o ID de controlo do controlo especificado é adicionado ao TypeConverter.StandardValuesCollection que é devolvido pelo GetStandardValues(ITypeDescriptorContext) método.

GetConvertFromException(Object)

Devolve uma exceção ao lançamento quando uma conversão não pode ser realizada.

(Herdado de TypeConverter)
GetConvertToException(Object, Type)

Devolve uma exceção ao lançamento quando uma conversão não pode ser realizada.

(Herdado de TypeConverter)
GetCreateInstanceSupported()

Devolve se alterar um valor neste objeto requer uma chamada ao CreateInstance(IDictionary) método para criar um novo valor.

(Herdado de TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Devolve se alterar um valor neste objeto requer uma chamada a CreateInstance(IDictionary) para criar um novo valor, usando o contexto especificado.

(Herdado de TypeConverter)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor, usando o contexto e atributos especificados.

(Herdado de TypeConverter)
GetProperties(ITypeDescriptorContext, Object)

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor, usando o contexto especificado.

(Herdado de TypeConverter)
GetProperties(Object)

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor.

(Herdado de TypeConverter)
GetPropertiesSupported()

Devolve se este objeto suporta propriedades.

(Herdado de TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Devolve se este objeto suporta propriedades, usando o contexto especificado.

(Herdado de TypeConverter)
GetStandardValues()

Devolve uma coleção de valores padrão do contexto padrão para o tipo de dado para o qual este conversor de tipo foi concebido.

(Herdado de TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Devolve uma coleção de IDs de controlo do contentor dentro do IDesignerHost quando fornecido com um contexto de formato.

GetStandardValuesExclusive()

Devolve se a coleção de valores padrão retornada de GetStandardValues() é uma lista exclusiva.

(Herdado de TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Devolve um valor que indica se a coleção de valores padrão devolvida pelo GetStandardValues(ITypeDescriptorContext) método é uma lista exclusiva de valores possíveis, usando o contexto especificado.

GetStandardValuesSupported()

Devolve se este objeto suporta um conjunto padrão de valores que podem ser escolhidos de uma lista.

(Herdado de TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Devolve um valor que indica se este objeto suporta um conjunto padrão de valores de ID de controlo que podem ser escolhidos de uma lista, usando o contexto especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsValid(ITypeDescriptorContext, Object)

Devolve se o objeto de valor dado é válido para este tipo e para o contexto especificado.

(Herdado de TypeConverter)
IsValid(Object)

Devolve se o objeto de valor dado é válido para este tipo.

(Herdado de TypeConverter)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SortProperties(PropertyDescriptorCollection, String[])

Ordena um conjunto de propriedades.

(Herdado de TypeConverter)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também