Auf Englisch lesen

Teilen über


Control.AddParsedSubObject(Object) Methode

Definition

Benachrichtigt das Serversteuerelement, dass entweder ein XML-Element oder HTML-Element analysiert wurde, und fügt das Element dem ControlCollection-Objekt des Serversteuerelements hinzu.

C#
protected virtual void AddParsedSubObject(object obj);

Parameter

obj
Object

Ein Object, das das analysierte Element darstellt.

Beispiele

Das folgende Beispiel ist ein benutzerdefiniertes Serversteuerelement, das die AddParsedSubObject -Methode verwendet, um zu bestimmen, ob zwischen den öffnenden und schließenden Tags dieses Steuerelements deklarierte Elemente Webserversteuerelemente sind TextBox . Wenn dies der Wert ist, werden sie einem ArrayList -Objekt hinzugefügt, items. Wenn die überschriebene CreateChildControls Methode aufgerufen wird, durchläuft sie die ArrayList und fügt jedes objekt darin dem des benutzerdefinierten Serversteuerelements hinzu ControlCollection .

Wichtig

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

C#
// Custom ControlBuilder class. Interprets nested tag name "myitem" as a textbox. 
public class MyControlBuilder : ControlBuilder 
{
   public override Type GetChildControlType(String tagName,
                                       IDictionary attributes)
   {
      if (String.Compare(tagName, "myitem", true) == 0) 
      {
         return typeof(TextBox);
      }
      return null;
   }
}

[ 
ControlBuilderAttribute(typeof(MyControlBuilder)) 
]
public class MyControl : Control
{
   // Store all the controls specified as nested tags.
   private ArrayList items = new ArrayList();
   
   // This function is internally invoked by IParserAccessor.AddParsedSubObject(Object).
   protected override void AddParsedSubObject(Object obj) 
   {
      if (obj is TextBox) 
      {
         items.Add(obj);
      }
   }

   // Override 'CreateChildControls'. 
   protected override void CreateChildControls()
   {
      System.Collections.IEnumerator myEnumerator = items.GetEnumerator();
      while(myEnumerator.MoveNext())
          this.Controls.Add((TextBox)myEnumerator.Current);
   }
}    

Hinweise

Sofern sie nicht überschrieben wird, fügt diese Methode dem Objekt des Serversteuerelements ControlCollection automatisch Objekte hinzuLiteralControl. Auf diese Auflistung kann über Control.Controls die -Eigenschaft zugegriffen werden.

Gilt für:

Produkt Versionen
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Weitere Informationen