HtmlSelectBuilder Klas

Definitie

Communiceert met de parser om een HtmlSelect besturingselement te bouwen.

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
Overname
HtmlSelectBuilder

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een aangepast HtmlSelectBuilder besturingselement maakt dat twee typen onderliggende elementen van <option> een aangepast besturingselement HtmlSelect definieert en vervolgens elk type verschillend verwerkt.

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

Opmerkingen

Het HtmlSelectBuilder besturingselement communiceert met de paginaparser om een HtmlSelect besturingselement te maken. Gebruik het HtmlSelectBuilder besturingselement om het parseren van een HtmlSelect besturingselement aan te passen.

De AllowWhitespaceLiterals() eigenschap is zo ingesteld false dat witruimte altijd wordt genegeerd. Gebruik de GetChildControlType methode om het type onderliggende besturingselementen van het HtmlSelect besturingselement te bepalen.

Notities voor overnemers

Als u een aangepaste opbouwfunctie voor besturingselementen voor een HtmlSelect besturingselement wilt maken, moet u overnemen van deze klasse.

Constructors

Name Description
HtmlSelectBuilder()

Initialiseert een nieuw exemplaar van de HtmlSelectBuilder klasse.

Eigenschappen

Name Description
BindingContainerBuilder

Hiermee haalt u de opbouwfunctie voor besturingselementen op die overeenkomt met de bindingscontainer voor het besturingselement dat door deze opbouwfunctie wordt gemaakt.

(Overgenomen van ControlBuilder)
BindingContainerType

Hiermee haalt u het type bindingscontainer op voor het besturingselement dat door deze opbouwfunctie wordt gemaakt.

(Overgenomen van ControlBuilder)
ComplexPropertyEntries

Hiermee haalt u een verzameling complexe eigenschapvermeldingen op.

(Overgenomen van ControlBuilder)
ControlType

Hiermee haalt u het Type besturingselement op dat moet worden gemaakt.

(Overgenomen van ControlBuilder)
CurrentFilterResolutionService

Hiermee haalt u een IFilterResolutionService object op dat wordt gebruikt om gerelateerde services voor apparaatfilters te beheren bij het parseren en persistent maken van besturingselementen in de ontwerpfunctie.

(Overgenomen van ControlBuilder)
DeclareType

Hiermee haalt u het type op dat wordt gebruikt door het genereren van code om het besturingselement te declareren.

(Overgenomen van ControlBuilder)
FChildrenAsProperties

Hiermee haalt u een waarde op waarmee wordt bepaald of het besturingselement een waarde heeft waarop ChildrenAsProperties is ParseChildrenAttribute ingesteldtrue.

(Overgenomen van ControlBuilder)
FIsNonParserAccessor

Hiermee wordt een waarde opgehaald die bepaalt of het besturingselement de IParserAccessor interface implementeert.

(Overgenomen van ControlBuilder)
HasAspCode

Hiermee wordt een waarde opgehaald die aangeeft of het besturingselement codeblokken bevat.

(Overgenomen van ControlBuilder)
ID

Hiermee haalt u de id-eigenschap op of stelt u deze in voor het besturingselement dat moet worden gebouwd.

(Overgenomen van ControlBuilder)
InDesigner

Retourneert of de ControlBuilder functie wordt uitgevoerd in de ontwerpfunctie.

(Overgenomen van ControlBuilder)
InPageTheme

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of dit ControlBuilder object wordt gebruikt voor het genereren van paginathema's.

(Overgenomen van ControlBuilder)
ItemType

Hiermee haalt u het type op dat is ingesteld op de bindingscontainer.

(Overgenomen van ControlBuilder)
Localize

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of het besturingselement dat door dit ControlBuilder object wordt gemaakt, is gelokaliseerd.

(Overgenomen van ControlBuilder)
NamingContainerType

Hiermee haalt u het type naamgevingscontainer op voor het besturingselement dat door deze opbouwfunctie wordt gemaakt.

(Overgenomen van ControlBuilder)
PageVirtualPath

Hiermee haalt u het virtuele pad van een pagina op die door dit ControlBuilder exemplaar moet worden gebouwd.

(Overgenomen van ControlBuilder)
Parser

Hiermee wordt de TemplateParser verantwoordelijke voor het parseren van het besturingselement.

(Overgenomen van ControlBuilder)
ServiceProvider

Hiermee haalt u het serviceobject voor dit ControlBuilder object op.

(Overgenomen van ControlBuilder)
SubBuilders

Hiermee haalt u een lijst met onderliggende ControlBuilder objecten voor dit ControlBuilder object op.

(Overgenomen van ControlBuilder)
TagName

Hiermee haalt u de tagnaam op voor het besturingselement dat moet worden gebouwd.

(Overgenomen van ControlBuilder)
TemplatePropertyEntries

Hiermee haalt u een verzameling sjablooneigenschapvermeldingen op.

(Overgenomen van ControlBuilder)
ThemeResolutionService

Hiermee haalt u een IThemeResolutionService object op dat wordt gebruikt in de ontwerptijd om controlethema's en skins te beheren.

(Overgenomen van ControlBuilder)

Methoden

Name Description
AllowWhitespaceLiterals()

Bepaalt of de letterlijke witruimte in een HtmlSelect besturingselement moet worden verwerkt of genegeerd.

AppendLiteralString(String)

Voegt de opgegeven letterlijke inhoud toe aan een besturingselement. Deze methode wordt aangeroepen door het ASP.NET paginaframework.

(Overgenomen van ControlBuilder)
AppendSubBuilder(ControlBuilder)

Voegt opbouwfuncties toe aan het ControlBuilder object voor onderliggende besturingselementen die deel uitmaken van het containerbesturingselement.

(Overgenomen van ControlBuilder)
BuildObject()

Hiermee wordt een ontwerptijdexemplaren gebouwd van het besturingselement waarnaar wordt verwezen door dit ControlBuilder object.

(Overgenomen van ControlBuilder)
CloseControl()

Wordt aangeroepen door de parser om de opbouwfunctie te informeren dat het parseren van de openings- en sluitingstags van het besturingselement is voltooid.

(Overgenomen van ControlBuilder)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetChildControlType(String, IDictionary)

Hiermee haalt u de Type onderliggende besturingselementen van het HtmlSelect besturingselement op.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetObjectPersistData()

Hiermee maakt u het ObjectPersistData object voor dit ControlBuilder object.

(Overgenomen van ControlBuilder)
GetResourceKey()

Haalt de resourcesleutel voor dit ControlBuilder object op.

(Overgenomen van ControlBuilder)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
HasBody()

Bepaalt of een besturingselement zowel een openings- als een afsluittag heeft. Deze methode wordt aangeroepen door het ASP.NET paginaframework.

(Overgenomen van ControlBuilder)
HtmlDecodeLiterals()

Bepaalt of de letterlijke tekenreeks van een HTML-besturingselement HTML moet worden gedecodeerd. Deze methode wordt aangeroepen door het ASP.NET paginaframework.

(Overgenomen van ControlBuilder)
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary)

Initialiseert het ControlBuilder voor gebruik nadat deze is geïnstantieerd. Deze methode wordt aangeroepen door het ASP.NET paginaframework.

(Overgenomen van ControlBuilder)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
NeedsTagInnerText()

Bepaalt of de opbouwfunctie voor besturingselementen de binnenste tekst moet ophalen. Zo ja, dan moet de SetTagInnerText(String) methode worden aangeroepen. Deze methode wordt aangeroepen door het ASP.NET paginaframework.

(Overgenomen van ControlBuilder)
OnAppendToParentBuilder(ControlBuilder)

Hiermee wordt aangegeven dat deze wordt toegevoegd aan een bovenliggende ControlBuilder opbouwfunctie voor besturingselementen.

(Overgenomen van ControlBuilder)
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod)

Hiermee kunnen aangepaste besturingselementen toegang krijgen tot het gegenereerde Code Document Object Model (CodeDom) en code invoegen en wijzigen tijdens het parseren en bouwen van besturingselementen.

(Overgenomen van ControlBuilder)
SetResourceKey(String)

Hiermee stelt u de resourcesleutel voor dit ControlBuilder object in.

(Overgenomen van ControlBuilder)
SetServiceProvider(IServiceProvider)

Hiermee stelt u het serviceobject voor dit ControlBuilder object in.

(Overgenomen van ControlBuilder)
SetTagInnerText(String)

Biedt de ControlBuilder binnenste tekst van de besturingscode.

(Overgenomen van ControlBuilder)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook