HtmlSelectBuilder HtmlSelectBuilder HtmlSelectBuilder HtmlSelectBuilder Class

Definition

Interagiert zum Erstellen eines HtmlSelect-Steuerelements mit dem Parser.Interacts with the parser to build an HtmlSelect control.

public ref class HtmlSelectBuilder : System::Web::UI::ControlBuilder
public class HtmlSelectBuilder : System.Web.UI.ControlBuilder
type HtmlSelectBuilder = class
    inherit ControlBuilder
Public Class HtmlSelectBuilder
Inherits ControlBuilder
Vererbung
HtmlSelectBuilderHtmlSelectBuilderHtmlSelectBuilderHtmlSelectBuilder

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Benutzer HtmlSelectBuilder definiertes Steuerelement erstellt wird <option> , das zwei Typen von HtmlSelect untergeordneten Elementen eines benutzerdefinierten Steuer Elements definiert und dann jeden Typ unterschiedlich verarbeitet.The following code example demonstrates how to create a custom HtmlSelectBuilder control that defines two types of <option> child elements of a custom HtmlSelect control and then processes each type differently.

<%@ Page Language="C#"%>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>

<!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>HtmlSelectBuilder Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
      <h3>HtmlSelectBuilder Example</h3>

      <aspSample:CustomHtmlSelect
       id="customhtmlselect1"
       runat="server">
      <aspSample:MyOption1 optionid="option1" value="1" text="item 1"/>
      <aspSample:MyOption1 optionid="option2" value="2" text="item 2"/>
      <aspSample:MyOption2 optionid="option3" value="3" text="item 3"/>
      <aspSample:MyOption2 optionid="option4" value="4" text="item 4"/>
      </aspSample:CustomHtmlSelect>

    </form>

  </body>

</html>
<%@ Page Language="VB"%>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.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>HtmlSelectBuilder Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
      <h3>HtmlSelectBuilder Example</h3>

      <aspSample:CustomHtmlSelect
       id="customhtmlselect1"
       runat="server">
      <aspSample:MyOption1 optionid="option1" value="1" text="item 1"/>
      <aspSample:MyOption1 optionid="option2" value="2" text="item 2"/>
      <aspSample:MyOption2 optionid="option3" value="3" text="item 3"/>
      <aspSample:MyOption2 optionid="option4" value="4" text="item 4"/>
      </aspSample:CustomHtmlSelect>

    </form>

  </body>

</html>
using System;
using System.Security.Permissions;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Samples.AspNet.CS.Controls
{
        // Define a type of child control for the custom HtmlSelect control.
    public class MyOption1
    {
        string _id;
        string _value;
        string _text;

        public string optionid
        {
            get
            { return _id; }
            set
            { _id = value; }
        }

        public string value
        {
            get
            { return _value; }
            set
            { _value = value; }
        }

        public string text
        {
            get
            { return _text; }
            set
            { _text = value; }
        }
    }

       // Define a type of child control for the custom HtmlSelect control.
    public class MyOption2
    {
        string _id;
        string _value;
        string _text;

        public string optionid
        {
            get
            { return _id; }
            set
            { _id = value; }
        }

        public string value
        {
            get
            { return _value; }
            set
            { _value = value; }
        }

        public string text
        {
            get
            { return _text; }
            set
            { _text = value; }
        }
    }

    // Define a custom HtmlSelectBuilder control.
    public class MyHtmlSelectBuilder : HtmlSelectBuilder
    {
        [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
        public override Type GetChildControlType(string tagName, IDictionary attribs)
        {
            // Distinguish between two possible types of child controls.
            if (tagName.ToLower().EndsWith("myoption1"))
            {
                return typeof(MyOption1);
            }
            else if (tagName.ToLower().EndsWith("myoption2"))
            {
                return typeof(MyOption2);
            }
            return null;
        }

    }

    [ControlBuilderAttribute(typeof(MyHtmlSelectBuilder))]
    public class CustomHtmlSelect : HtmlSelect
    {
        
        // Override AddParsedSubObject to treat the two types
        // of child controls differently.
        protected override void AddParsedSubObject(object obj)
        {
            string _outputtext;
            if (obj is MyOption1)
            {
                _outputtext = "option group 1: " + ((MyOption1)obj).text;
                ListItem li = new ListItem(_outputtext, ((MyOption1)obj).value);
                base.Items.Add(li);
            }
            if (obj is MyOption2)
            {
                _outputtext = "option group 2: " + ((MyOption2)obj).text;
                ListItem li = new ListItem(_outputtext, ((MyOption2)obj).value);
                base.Items.Add(li);
            }
        }
      
    }

}
Imports System.Security.Permissions
Imports System.Collections
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls

Namespace Samples.AspNet.VB.Controls
    ' Define a type of child control for the custom HtmlSelect control.
    Public Class MyOption1
        Private _id As String
        Private _value As String
        Private _text As String


        Public Property optionid() As String
            Get
                Return _id
            End Get
            Set(ByVal value As String)
                _id = value
            End Set
        End Property

        Public Property value() As String
            Get
                Return _value
            End Get
            Set(ByVal value As String)
                _value = value
            End Set
        End Property

        Public Property [text]() As String
            Get
                Return _text
            End Get
            Set(ByVal value As String)
                _text = value
            End Set
        End Property
    End Class 

    ' Define a type of child control for the custom HtmlSelect control.
    Public Class MyOption2
        Private _id As String
        Private _value As String
        Private _text As String


        Public Property optionid() As String
            Get
                Return _id
            End Get
            Set(ByVal value As String)
                _id = value
            End Set
        End Property

        Public Property value() As String
            Get
                Return _value
            End Get
            Set(ByVal value As String)
                _value = value
            End Set
        End Property

        Public Property [text]() As String
            Get
                Return _text
            End Get
            Set(ByVal value As String)
                _text = value
            End Set
        End Property
    End Class 

    ' Define a custom HtmlSelectBuilder control.
    Public Class MyHtmlSelectBuilder
        Inherits HtmlSelectBuilder

        <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
        Public Overrides Function GetChildControlType(ByVal tagName As String, ByVal attribs As IDictionary) As Type

            ' Distinguish between two possible types of child controls.
            If tagName.ToLower().EndsWith("myoption1") Then
                Return GetType(MyOption1)
            ElseIf tagName.ToLower().EndsWith("myoption2") Then
                Return GetType(MyOption2)
            End If
            Return Nothing

        End Function 
    End Class 

    <ControlBuilderAttribute(GetType(MyHtmlSelectBuilder))> _
    Public Class CustomHtmlSelect
        Inherits HtmlSelect

        ' Override AddParsedSubObject to treat the two types
        ' of child controls differently.
        Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)
            Dim _outputtext As String
            If TypeOf obj Is MyOption1 Then
                _outputtext = "option group 1: " + CType(obj, MyOption1).text
                Dim li As New ListItem(_outputtext, CType(obj, MyOption1).value)
                MyBase.Items.Add(li)
            End If
            If TypeOf obj Is MyOption2 Then
                _outputtext = "option group 2: " + CType(obj, MyOption2).text
                Dim li As New ListItem(_outputtext, CType(obj, MyOption2).value)
                MyBase.Items.Add(li)
            End If

        End Sub 
    End Class 
End Namespace

Hinweise

Das HtmlSelectBuilder -Steuerelement interagiert mit dem Seiten Parser, HtmlSelect um ein-Steuerelement zu erstellen.The HtmlSelectBuilder control interacts with the page parser to build an HtmlSelect control. Verwenden Sie HtmlSelectBuilder das-Steuerelement, um die Verarbeitung HtmlSelect eines-Steuer Elements anzupassen.Use the HtmlSelectBuilder control to customize the parsing of an HtmlSelect control.

Die AllowWhitespaceLiterals -Eigenschaft ist auf false festgelegt, sodass Leerzeichen immer ignoriert werden.The AllowWhitespaceLiterals property is set to false so that white space is always ignored. Verwenden Sie GetChildControlType die-Methode, um den Typ HtmlSelect der untergeordneten Steuerelemente des Steuer Elements zu bestimmen.Use the GetChildControlType method to determine the type of the HtmlSelect control's child controls.

Hinweise für Vererber

Um einen benutzerdefinierten Steuerelement-Generator HtmlSelect für ein Steuerelement zu erstellen, müssen Sie von dieser Klasse erben.To create a custom control builder for an HtmlSelect control, you need to inherit from this class.

Konstruktoren

HtmlSelectBuilder() HtmlSelectBuilder() HtmlSelectBuilder() HtmlSelectBuilder()

Initialisiert eine neue Instanz der HtmlSelectBuilder-Klasse.Initializes a new instance of the HtmlSelectBuilder class.

Methoden

AllowWhitespaceLiterals() AllowWhitespaceLiterals() AllowWhitespaceLiterals() AllowWhitespaceLiterals()

Bestimmt, ob die Leerraumliterale in einem HtmlSelect-Steuerelement zu verarbeiten oder zu ignorieren sind.Determines whether the white space literals in an HtmlSelect control are to be processed or ignored.

AppendLiteralString(String) AppendLiteralString(String) AppendLiteralString(String) AppendLiteralString(String)

Fügt den angegebenen literalen Inhalt einem Steuerelement hinzu.Adds the specified literal content to a control. Diese Methode wird durch das ASP.NET-Seitenframework aufgerufen.This method is called by the ASP.NET page framework.

(Inherited from ControlBuilder)
AppendSubBuilder(ControlBuilder) AppendSubBuilder(ControlBuilder) AppendSubBuilder(ControlBuilder) AppendSubBuilder(ControlBuilder)

Fügt dem ControlBuilder-Objekt Generatoren für alle untergeordneten Steuerelemente hinzu, die zu dem Containersteuerelement gehören.Adds builders to the ControlBuilder object for any child controls that belong to the container control.

(Inherited from ControlBuilder)
BuildObject() BuildObject() BuildObject() BuildObject()

Erstellt eine Entwurfszeitinstanz des Steuerelements, auf das das ControlBuilder-Objekt verweist.Builds a design-time instance of the control that is referred to by this ControlBuilder object.

(Inherited from ControlBuilder)
CloseControl() CloseControl() CloseControl() CloseControl()

Wird vom Parser aufgerufen, um den Generator zu benachrichtigen, dass die Analyse des Start- und Endtags des Steuerelements abgeschlossen ist.Called by the parser to inform the builder that the parsing of the control's opening and closing tags is complete.

(Inherited from ControlBuilder)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetChildControlType(String, IDictionary) GetChildControlType(String, IDictionary) GetChildControlType(String, IDictionary) GetChildControlType(String, IDictionary)

Ruft den Type für die untergeordneten Steuerelemente des HtmlSelect-Steuerelements ab.Obtains the Type for the HtmlSelect control's child controls.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetObjectPersistData() GetObjectPersistData() GetObjectPersistData() GetObjectPersistData()

Erstellt das ObjectPersistData-Objekt für dieses ControlBuilder-Objekt.Creates the ObjectPersistData object for this ControlBuilder object.

(Inherited from ControlBuilder)
GetResourceKey() GetResourceKey() GetResourceKey() GetResourceKey()

Ruft den Ressourcenschlüssel für dieses ControlBuilder-Objekt ab.Retrieves the resource key for this ControlBuilder object.

(Inherited from ControlBuilder)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
HasBody() HasBody() HasBody() HasBody()

Bestimmt, ob ein Steuerelement sowohl ein öffnendes als auch ein schließendes Tag besitzt.Determines if a control has both an opening and closing tag. Diese Methode wird durch das ASP.NET-Seitenframework aufgerufen.This method is called by the ASP.NET page framework.

(Inherited from ControlBuilder)
HtmlDecodeLiterals() HtmlDecodeLiterals() HtmlDecodeLiterals() HtmlDecodeLiterals()

Bestimmt, ob das Zeichenfolgenliteral eines HTML-Steuerelements HTML-decodiert werden muss.Determines whether the literal string of an HTML control must be HTML decoded. Diese Methode wird durch das ASP.NET-Seitenframework aufgerufen.This method is called by the ASP.NET page framework.

(Inherited from ControlBuilder)
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary)

Initialisiert den ControlBuilder zur Verwendung nach dessen Instanziierung.Initializes the ControlBuilder for use after it is instantiated. Diese Methode wird durch das ASP.NET-Seitenframework aufgerufen.This method is called by the ASP.NET page framework.

(Inherited from ControlBuilder)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
NeedsTagInnerText() NeedsTagInnerText() NeedsTagInnerText() NeedsTagInnerText()

Bestimmt, ob der Steuerelementgenerator seinen inneren Text abrufen muss.Determines if the control builder needs to get its inner text. Wenn das der Fall ist, muss die SetTagInnerText(String)-Methode aufgerufen werden.If so, the SetTagInnerText(String) method must be called. Diese Methode wird durch das ASP.NET-Seitenframework aufgerufen.This method is called by the ASP.NET page framework.

(Inherited from ControlBuilder)
OnAppendToParentBuilder(ControlBuilder) OnAppendToParentBuilder(ControlBuilder) OnAppendToParentBuilder(ControlBuilder) OnAppendToParentBuilder(ControlBuilder)

Benachrichtigt den ControlBuilder, dass er dem übergeordneten Steuerelementgenerator hinzugefügt wird.Notifies the ControlBuilder that it is being added to a parent control builder.

(Inherited from ControlBuilder)
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod)

Ermöglicht einem benutzerdefinierten Steuerelement-Generator den Zugriff auf das generierte CodeDom (Code Document Object Model) sowie das Einfügen und Ändern von Code während der Analyse und der Erstellung von Steuerelementen.Enables custom control builders to access the generated Code Document Object Model (CodeDom) and insert and modify code during the process of parsing and building controls.

(Inherited from ControlBuilder)
SetResourceKey(String) SetResourceKey(String) SetResourceKey(String) SetResourceKey(String)

Legt den Ressourcenschlüssel für dieses ControlBuilder-Objekt fest.Sets the resource key for this ControlBuilder object.

(Inherited from ControlBuilder)
SetServiceProvider(IServiceProvider) SetServiceProvider(IServiceProvider) SetServiceProvider(IServiceProvider) SetServiceProvider(IServiceProvider)

Legt das Dienstobjekt für dieses ControlBuilder-Objekt fest.Sets the service object for this ControlBuilder object.

(Inherited from ControlBuilder)
SetTagInnerText(String) SetTagInnerText(String) SetTagInnerText(String) SetTagInnerText(String)

Stellt den inneren Text des Steuerelementtags für den ControlBuilder bereit.Provides the ControlBuilder with the inner text of the control tag.

(Inherited from ControlBuilder)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Eigenschaften

BindingContainerBuilder BindingContainerBuilder BindingContainerBuilder BindingContainerBuilder

Ruft den Steuerelement-Generator ab, der sich auf den Bindungscontainer für das Steuerelement bezieht, das dieser Generator erstellt.Gets the control builder that corresponds to the binding container for the control that this builder creates.

(Inherited from ControlBuilder)
BindingContainerType BindingContainerType BindingContainerType BindingContainerType

Ruft den Typ des Bindungscontainers für das Steuerelement ab, das dieser Generator erstellt.Gets the type of the binding container for the control that this builder creates.

(Inherited from ControlBuilder)
ComplexPropertyEntries ComplexPropertyEntries ComplexPropertyEntries ComplexPropertyEntries

Ruft eine Sammlung von komplexen Eigenschafteneinträgen ab.Gets a collection of complex property entries.

(Inherited from ControlBuilder)
ControlType ControlType ControlType ControlType

Ruft den Type für das zu erstellende Steuerelement ab.Gets the Type for the control to be created.

(Inherited from ControlBuilder)
CurrentFilterResolutionService CurrentFilterResolutionService CurrentFilterResolutionService CurrentFilterResolutionService

Ruft ein IFilterResolutionService-Objekt ab, das für die Verwaltung von Diensten im Zusammenhang mit Gerätefiltern verwendet wird, wenn Steuerelemente im Designer analysiert und beibehalten werden.Gets an IFilterResolutionService object that is used to manage device-filter related services when parsing and persisting controls in the designer.

(Inherited from ControlBuilder)
DeclareType DeclareType DeclareType DeclareType

Ruft den Typ ab, der von der Codegenerierung verwendet wird, um das Steuerelement zu deklarieren.Gets the type that will be used by code generation to declare the control.

(Inherited from ControlBuilder)
FChildrenAsProperties FChildrenAsProperties FChildrenAsProperties FChildrenAsProperties

Ruft einen Wert ab, der bestimmt, ob das Steuerelement ein ParseChildrenAttribute-Element enthält, für das ChildrenAsProperties auf true festgelegt ist.Gets a value that determines whether the control has a ParseChildrenAttribute with ChildrenAsProperties set to true.

(Inherited from ControlBuilder)
FIsNonParserAccessor FIsNonParserAccessor FIsNonParserAccessor FIsNonParserAccessor

Ruft einen Wert ab, der bestimmt, ob das Steuerelement die IParserAccessor-Schnittstelle implementiert.Gets a value that determines whether the control implements the IParserAccessor interface.

(Inherited from ControlBuilder)
HasAspCode HasAspCode HasAspCode HasAspCode

Ruft einen Wert ab, der angibt, ob das Steuerelement Codeblöcke enthält.Gets a value indicating whether the control contains any code blocks.

(Inherited from ControlBuilder)
ID ID ID ID

Ruft die Bezeichnereigenschaft für das zu erstellende Steuerelement ab oder legt diese fest.Gets or sets the identifier property for the control to be built.

(Inherited from ControlBuilder)
InDesigner InDesigner InDesigner InDesigner

Gibt zurück, ob der ControlBuilder im Designer ausgeführt wird.Returns whether the ControlBuilder is running in the designer.

(Inherited from ControlBuilder)
InPageTheme InPageTheme InPageTheme InPageTheme

Ruft einen booleschen Wert ab, der angibt, ob dieses ControlBuilder-Objekt zur Generierung von Seitendesigns verwendet wird.Gets a Boolean value indicating whether this ControlBuilder object is used to generate page themes.

(Inherited from ControlBuilder)
ItemType ItemType ItemType ItemType

Ruft den Satztyp für den bindenden Container ab.Gets the type set on the binding container.

(Inherited from ControlBuilder)
Localize Localize Localize Localize

Ruft einen booleschen Wert ab, der angibt, ob das von diesem ControlBuilder-Objekt erstellte Steuerelement lokalisiert wird.Gets a Boolean value indicating whether the control that is created by this ControlBuilder object is localized.

(Inherited from ControlBuilder)
NamingContainerType NamingContainerType NamingContainerType NamingContainerType

Ruft den Typ des Benennungscontainers für das von diesem Generator erstellte Steuerelement ab.Gets the type of the naming container for the control that this builder creates.

(Inherited from ControlBuilder)
PageVirtualPath PageVirtualPath PageVirtualPath PageVirtualPath

Ruft den virtuellen Pfad einer Seite ab, die mit dieser ControlBuilder-Instanz erstellt werden soll.Gets the virtual path of a page to be built by this ControlBuilder instance.

(Inherited from ControlBuilder)
Parser Parser Parser Parser

Ruft den für das Analysieren des Steuerelements zuständigen TemplateParser ab.Gets the TemplateParser responsible for parsing the control.

(Inherited from ControlBuilder)
ServiceProvider ServiceProvider ServiceProvider ServiceProvider

Ruft das Dienstobjekt für dieses ControlBuilder-Objekt ab.Gets the service object for this ControlBuilder object.

(Inherited from ControlBuilder)
SubBuilders SubBuilders SubBuilders SubBuilders

Ruft eine Liste von untergeordneten ControlBuilder-Objekten für dieses ControlBuilder-Objekt ab.Gets a list of child ControlBuilder objects for this ControlBuilder object.

(Inherited from ControlBuilder)
TagName TagName TagName TagName

Ruft den Tagnamen für das zu erstellende Steuerelement ab.Gets the tag name for the control to be built.

(Inherited from ControlBuilder)
TemplatePropertyEntries TemplatePropertyEntries TemplatePropertyEntries TemplatePropertyEntries

Ruft eine Sammlung von Vorlageneigenschaftseinträgen ab.Gets a collection of template property entries.

(Inherited from ControlBuilder)
ThemeResolutionService ThemeResolutionService ThemeResolutionService ThemeResolutionService

Ruft ein IThemeResolutionService-Objekt ab, das zur Entwurfszeit zur Verwaltung von Steuerelementdesigns und -skins verwendet wirdGets an IThemeResolutionService object that is used in design time to manage control themes and skins.

(Inherited from ControlBuilder)

Gilt für:

Siehe auch