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 для этого свойства. Переопределяет 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) |