Поделиться через


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)

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

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

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

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

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

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