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