ControlIDConverter Класс

Определение

Предоставляет преобразователь типов, который получает список идентификаторов элементов управления в текущем контейнере.

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 отрисовки идентификатора элемента управления. Это DebugInfoControl простой элемент управления, который выводит некоторые сведения об элементе управления, содержавшемся в текущей веб-форме. Его ControlID свойство украшено свойством TypeConverterAttribute , которое обозначает ControlIDConverter как используемое TypeConverter для этого свойства. Переопределяет DebugInfoControlRender метод для вывода сведений о целевом элементе управления в элементе 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 класса и предоставляет список идентификаторов элементов управления для отображения в элементе управления сеткой свойств в средах времени разработки. Класс ControlIDConverter также служит базовым классом для AssociatedControlConverter и ValidatedControlConverter классов, которые являются преобразователями типов для веб-элементов управления и элементов управления, которые поддерживают атрибуты свойств проверки соответственно.

Дополнительные сведения о преобразователях типов см. в разделе Практическое руководство. Реализация преобразователя типов или преобразования обобщенных типов.

Конструкторы

Имя Описание
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)

Преобразует заданный объект значения в указанный тип, используя указанный контекст и сведения о языке и региональных параметрах.

(Унаследовано от TypeConverter)
ConvertTo(Object, Type)

Преобразует заданный объект значения в указанный тип с помощью аргументов.

(Унаследовано от TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Преобразует указанное значение в инвариантное строковое представление языка и региональных параметров с помощью указанного контекста.

(Унаследовано от 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)

Возвращает значение, указывающее, добавляется 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, Attribute[])

Возвращает коллекцию свойств для типа массива, заданного параметром значения, с помощью указанного контекста и атрибутов.

(Унаследовано от TypeConverter)
GetProperties(ITypeDescriptorContext, Object)

Возвращает коллекцию свойств для типа массива, указанного параметром значения, с помощью указанного контекста.

(Унаследовано от TypeConverter)
GetProperties(Object)

Возвращает коллекцию свойств для типа массива, указанного параметром значения.

(Унаследовано от TypeConverter)
GetPropertiesSupported()

Возвращает значение, поддерживает ли этот объект свойства.

(Унаследовано от TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Возвращает значение, поддерживающее свойства этого объекта, используя указанный контекст.

(Унаследовано от TypeConverter)
GetStandardValues()

Возвращает коллекцию стандартных значений из контекста по умолчанию для типа данных, предназначенного для этого преобразователя типов.

(Унаследовано от TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Возвращает коллекцию идентификаторов элементов управления из контейнера в IDesignerHost при предоставлении контекста формата.

GetStandardValuesExclusive()

Возвращает, является ли коллекция стандартных значений, возвращаемая из GetStandardValues() него, эксклюзивным списком.

(Унаследовано от TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Возвращает значение, указывающее, является ли коллекция стандартных значений, возвращаемых методом GetStandardValues(ITypeDescriptorContext), является эксклюзивным списком возможных значений, используя указанный контекст.

GetStandardValuesSupported()

Возвращает значение, поддерживающее стандартный набор значений, которые можно выбрать из списка.

(Унаследовано от TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Возвращает значение, указывающее, поддерживает ли этот объект стандартный набор значений идентификаторов элемента управления, которые можно выбрать из списка, используя указанный контекст.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsValid(ITypeDescriptorContext, Object)

Возвращает, является ли заданный объект значения допустимым для этого типа и для указанного контекста.

(Унаследовано от TypeConverter)
IsValid(Object)

Возвращает, является ли заданный объект значения допустимым для этого типа.

(Унаследовано от TypeConverter)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
SortProperties(PropertyDescriptorCollection, String[])

Сортирует коллекцию свойств.

(Унаследовано от TypeConverter)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел