ControlIDConverter Klass

Definition

Tillhandahåller en typkonverterare som hämtar en lista över kontroll-ID:t i den aktuella containern.

public ref class ControlIDConverter : System::ComponentModel::StringConverter
public class ControlIDConverter : System.ComponentModel.StringConverter
type ControlIDConverter = class
    inherit StringConverter
Public Class ControlIDConverter
Inherits StringConverter
Arv
ControlIDConverter
Härledda

Exempel

Följande kodexempel visar hur du använder ControlIDConverter i en klass som kräver en TypeConverter för att återge ID:t för en kontroll. DebugInfoControl Är en enkel kontroll som skriver ut viss information på en kontroll som finns i det aktuella webbformuläret. Dess ControlID egenskap är dekorerad med en TypeConverterAttribute som anger ControlIDConverter som ska TypeConverter användas för den egenskapen. Åsidosätter DebugInfoControlRender metoden för att skriva ut information om målkontrollen i en Label kontroll.

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

Följande kodexempel visar hur DebugInfoControl kan användas i ett webbformulär tillsammans med en AccessDataSource kontroll för att visa information om AccessDataSource kontrollen.

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

Kommentarer

Klassen ControlIDConverter härleds från StringConverter klassen och innehåller en lista över kontroll-ID:t för visning i en egenskapsrutnätskontroll i designtidsmiljöer. Klassen ControlIDConverter fungerar också som basklass för klasserna AssociatedControlConverter och ValidatedControlConverter som är typkonverterare för webbkontroller och kontroller som stöder valideringsegenskapsattribut.

Mer information om typkonverterare finns i Så här implementerar du en typkonverterare eller generaliserad typkonvertering.

Konstruktorer

Name Description
ControlIDConverter()

Initierar en ny instans av ControlIDConverter klassen.

Metoder

Name Description
CanConvertFrom(ITypeDescriptorContext, Type)

Hämtar ett värde som anger om konverteraren kan konvertera ett objekt i den angivna källtypen till en sträng med den angivna kontexten.

(Ärvd från StringConverter)
CanConvertFrom(Type)

Returnerar om konverteraren kan konvertera ett objekt av den angivna typen till konverterarens typ.

(Ärvd från TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Returnerar om konverteraren kan konvertera objektet till den angivna typen med hjälp av den angivna kontexten.

(Ärvd från TypeConverter)
CanConvertTo(Type)

Returnerar om konverteraren kan konvertera objektet till den angivna typen.

(Ärvd från TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Konverterar det angivna värdeobjektet till ett String objekt.

(Ärvd från StringConverter)
ConvertFrom(Object)

Konverterar det angivna värdet till konverterarens typ.

(Ärvd från TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Konverterar den angivna strängen till typen av konverterare med hjälp av den invarianta kulturen och den angivna kontexten.

(Ärvd från TypeConverter)
ConvertFromInvariantString(String)

Konverterar den angivna strängen till den här konverterarens typ med hjälp av den invarianta kulturen.

(Ärvd från TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Konverterar den angivna texten till ett objekt med hjälp av den angivna kontext- och kulturinformationen.

(Ärvd från TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Konverterar den angivna texten till ett objekt med hjälp av den angivna kontexten.

(Ärvd från TypeConverter)
ConvertFromString(String)

Konverterar den angivna texten till ett objekt.

(Ärvd från TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Konverterar det angivna värdeobjektet till den angivna typen med hjälp av den angivna kontext- och kulturinformationen.

(Ärvd från TypeConverter)
ConvertTo(Object, Type)

Konverterar det angivna värdeobjektet till den angivna typen med hjälp av argumenten.

(Ärvd från TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Konverterar det angivna värdet till en kultur-invariant strängrepresentation med den angivna kontexten.

(Ärvd från TypeConverter)
ConvertToInvariantString(Object)

Konverterar det angivna värdet till en kultur-invariant strängrepresentation.

(Ärvd från TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Konverterar det angivna värdet till en strängrepresentation med hjälp av den angivna kontext- och kulturinformationen.

(Ärvd från TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Konverterar det angivna värdet till en strängrepresentation med hjälp av den angivna kontexten.

(Ärvd från TypeConverter)
ConvertToString(Object)

Konverterar det angivna värdet till en strängrepresentation.

(Ärvd från TypeConverter)
CreateInstance(IDictionary)

Återskapar en Object angiven uppsättning egenskapsvärden för objektet.

(Ärvd från TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Skapar en instans av den typ som detta TypeConverter är associerat med, med hjälp av den angivna kontexten, givet en uppsättning egenskapsvärden för objektet.

(Ärvd från TypeConverter)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FilterControl(Control)

Returnerar ett värde som anger om kontroll-ID för den angivna kontrollen läggs till i TypeConverter.StandardValuesCollection som returneras av GetStandardValues(ITypeDescriptorContext) metoden.

GetConvertFromException(Object)

Returnerar ett undantag som ska utlösas när en konvertering inte kan utföras.

(Ärvd från TypeConverter)
GetConvertToException(Object, Type)

Returnerar ett undantag som ska utlösas när en konvertering inte kan utföras.

(Ärvd från TypeConverter)
GetCreateInstanceSupported()

Returnerar om det krävs ett anrop till metoden för att skapa ett nytt värde för att CreateInstance(IDictionary) ändra ett värde för det här objektet.

(Ärvd från TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Returnerar om ett värde för det här objektet måste anropas för att CreateInstance(IDictionary) skapa ett nytt värde med hjälp av den angivna kontexten.

(Ärvd från TypeConverter)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Returnerar en samling egenskaper för den typ av matris som anges av värdeparametern med hjälp av den angivna kontexten och attributen.

(Ärvd från TypeConverter)
GetProperties(ITypeDescriptorContext, Object)

Returnerar en samling egenskaper för den typ av matris som anges av värdeparametern med den angivna kontexten.

(Ärvd från TypeConverter)
GetProperties(Object)

Returnerar en samling egenskaper för den typ av matris som anges av värdeparametern.

(Ärvd från TypeConverter)
GetPropertiesSupported()

Returnerar om det här objektet stöder egenskaper.

(Ärvd från TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Returnerar om det här objektet stöder egenskaper med hjälp av den angivna kontexten.

(Ärvd från TypeConverter)
GetStandardValues()

Returnerar en samling standardvärden från standardkontexten för den datatyp som den här typkonverteraren är utformad för.

(Ärvd från TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Returnerar en samling kontroll-ID:t från containern i när den IDesignerHost tillhandahålls med en formatkontext.

GetStandardValuesExclusive()

Returnerar om samlingen med standardvärden som returneras från GetStandardValues() är en exklusiv lista.

(Ärvd från TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Returnerar ett värde som anger om samlingen med standardvärden som returneras av GetStandardValues(ITypeDescriptorContext) metoden är en exklusiv lista över möjliga värden med hjälp av den angivna kontexten.

GetStandardValuesSupported()

Returnerar om det här objektet stöder en standarduppsättning med värden som kan väljas från en lista.

(Ärvd från TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Returnerar ett värde som anger om det här objektet stöder en standarduppsättning med kontroll-ID-värden som kan plockas från en lista med den angivna kontexten.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsValid(ITypeDescriptorContext, Object)

Returnerar om det angivna värdeobjektet är giltigt för den här typen och för den angivna kontexten.

(Ärvd från TypeConverter)
IsValid(Object)

Returnerar om det angivna värdeobjektet är giltigt för den här typen.

(Ärvd från TypeConverter)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SortProperties(PropertyDescriptorCollection, String[])

Sorterar en samling egenskaper.

(Ärvd från TypeConverter)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även