HtmlSelectBuilder Osztály

Definíció

Az elemzővel együttműködve létrehoz egy vezérlőt HtmlSelect .

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
Öröklődés
HtmlSelectBuilder

Példák

Az alábbi példakód bemutatja, hogyan hozhat létre egyéni HtmlSelectBuilder vezérlőt, amely egy egyéni <option> vezérlő két típusú gyermekelemét HtmlSelect határozza meg, majd az egyes típusokat másképp dolgozza fel.

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

Megjegyzések

A HtmlSelectBuilder vezérlő a lapelemzővel együttműködve létrehoz egy vezérlőt HtmlSelect . A vezérlő használatával HtmlSelectBuilder testre szabhatja egy HtmlSelect vezérlőelem elemzését.

A AllowWhitespaceLiterals() tulajdonság úgy false van beállítva, hogy a szabad terület mindig figyelmen kívül legyen hagyva. A metódussal GetChildControlType meghatározhatja a vezérlő gyermekvezérlőinek HtmlSelect típusát.

Megjegyzések az öröklőkhöz

Ha egyéni vezérlőszerkesztőt szeretne létrehozni egy HtmlSelect vezérlőhöz, ebből az osztályból kell örökölnie.

Konstruktorok

Name Description
HtmlSelectBuilder()

Inicializálja a HtmlSelectBuilder osztály új példányát.

Tulajdonságok

Name Description
BindingContainerBuilder

Lekéri a szerkesztő által létrehozott vezérlő kötéstárolójának megfelelő vezérlőszerkesztőt.

(Öröklődés forrása ControlBuilder)
BindingContainerType

Lekéri a szerkesztő által létrehozott vezérlő kötéstárolójának típusát.

(Öröklődés forrása ControlBuilder)
ComplexPropertyEntries

Összetett tulajdonságbejegyzések gyűjteményét kapja meg.

(Öröklődés forrása ControlBuilder)
ControlType

Lekéri a Type létrehozandó vezérlőt.

(Öröklődés forrása ControlBuilder)
CurrentFilterResolutionService

IFilterResolutionService Lekéri az eszközszűrővel kapcsolatos szolgáltatások kezeléséhez használt objektumot a tervező vezérlőinek elemzésekor és megőrzésekor.

(Öröklődés forrása ControlBuilder)
DeclareType

Lekéri azt a típust, amelyet a kódgenerálás a vezérlő deklarálásához használ.

(Öröklődés forrása ControlBuilder)
FChildrenAsProperties

Lekéri azt az értéket, amely meghatározza, hogy a vezérlőelem rendelkezik-e olyan értékkel, amely ParseChildrenAttribute a következőre ChildrenAsPropertiesvan true állítva: .

(Öröklődés forrása ControlBuilder)
FIsNonParserAccessor

Olyan értéket kap, amely meghatározza, hogy a vezérlő implementálja-e az interfészt IParserAccessor .

(Öröklődés forrása ControlBuilder)
HasAspCode

Beolvas egy értéket, amely jelzi, hogy a vezérlő tartalmaz-e kódblokkokat.

(Öröklődés forrása ControlBuilder)
ID

Lekéri vagy beállítja a létrehozandó vezérlő azonosítótulajdonságát.

(Öröklődés forrása ControlBuilder)
InDesigner

Azt adja vissza, hogy a ControlBuilder tervezőben fut-e.

(Öröklődés forrása ControlBuilder)
InPageTheme

Logikai értéket kap, amely jelzi, hogy az ControlBuilder objektum használható-e laptémák létrehozására.

(Öröklődés forrása ControlBuilder)
ItemType

Lekéri a típuskészletet a kötéstárolón.

(Öröklődés forrása ControlBuilder)
Localize

Logikai értéket kap, amely jelzi, hogy az objektum által ControlBuilder létrehozott vezérlő honosított-e.

(Öröklődés forrása ControlBuilder)
NamingContainerType

Lekéri a szerkesztő által létrehozott vezérlő elnevezési tárolójának típusát.

(Öröklődés forrása ControlBuilder)
PageVirtualPath

Lekéri a példány által ControlBuilder létrehozandó lap virtuális elérési útját.

(Öröklődés forrása ControlBuilder)
Parser

Lekéri a TemplateParser vezérlő elemzéséért felelőst.

(Öröklődés forrása ControlBuilder)
ServiceProvider

Lekéri az objektum szolgáltatásobjektumát ControlBuilder .

(Öröklődés forrása ControlBuilder)
SubBuilders

Lekéri az objektumhoz tartozó ControlBuilder gyermekobjektumok ControlBuilder listáját.

(Öröklődés forrása ControlBuilder)
TagName

Lekéri a létrehozandó vezérlő címkenevét.

(Öröklődés forrása ControlBuilder)
TemplatePropertyEntries

Sablontulajdonság-bejegyzések gyűjteményét kapja meg.

(Öröklődés forrása ControlBuilder)
ThemeResolutionService

IThemeResolutionService Lekéri a tervezési időben használt objektumot a vezérlőtémák és a bőrök kezelésére.

(Öröklődés forrása ControlBuilder)

Metódusok

Name Description
AllowWhitespaceLiterals()

Meghatározza, hogy a vezérlőelemben lévő HtmlSelect üres szóköz literáljait fel kell-e dolgozni vagy figyelmen kívül kell hagyni.

AppendLiteralString(String)

Hozzáadja a megadott literális tartalmat egy vezérlőelemhez. Ezt a metódust a ASP.NET lap keretrendszere hívja meg.

(Öröklődés forrása ControlBuilder)
AppendSubBuilder(ControlBuilder)

Szerkesztőket ad hozzá az objektumhoz a ControlBuilder tárolóvezérlőhöz tartozó gyermekvezérlőkhöz.

(Öröklődés forrása ControlBuilder)
BuildObject()

Létrehozza az objektum által ControlBuilder hivatkozott vezérlő tervezési idejű példányát.

(Öröklődés forrása ControlBuilder)
CloseControl()

Az elemző meghívta, hogy tájékoztassa a szerkesztőt, hogy a vezérlő nyitó és záró címkéinek elemzése befejeződött.

(Öröklődés forrása ControlBuilder)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetChildControlType(String, IDictionary)

Lekérte a TypeHtmlSelect vezérlő gyermekvezérlőit.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetObjectPersistData()

Létrehozza az ObjectPersistData objektum objektumát ControlBuilder .

(Öröklődés forrása ControlBuilder)
GetResourceKey()

Lekéri az objektum erőforráskulcsát ControlBuilder .

(Öröklődés forrása ControlBuilder)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
HasBody()

Meghatározza, hogy egy vezérlő rendelkezik-e nyitó és záró címkével is. Ezt a metódust a ASP.NET lap keretrendszere hívja meg.

(Öröklődés forrása ControlBuilder)
HtmlDecodeLiterals()

Meghatározza, hogy a HTML-vezérlők literális sztringjének HTML-dekódoltnak kell-e lennie. Ezt a metódust a ASP.NET lap keretrendszere hívja meg.

(Öröklődés forrása ControlBuilder)
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary)

A példányosítás után inicializálja a ControlBuilder használatra szánt példányt. Ezt a metódust a ASP.NET lap keretrendszere hívja meg.

(Öröklődés forrása ControlBuilder)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
NeedsTagInnerText()

Meghatározza, hogy a vezérlőszerkesztőnek be kell-e szereznie a belső szövegét. Ha igen, a SetTagInnerText(String) metódust meg kell hívni. Ezt a metódust a ASP.NET lap keretrendszere hívja meg.

(Öröklődés forrása ControlBuilder)
OnAppendToParentBuilder(ControlBuilder)

Értesíti a ControlBuilder szülővezérlő-szerkesztőhöz való hozzáadásról.

(Öröklődés forrása ControlBuilder)
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod)

Lehetővé teszi, hogy az egyéni vezérlőkészítők hozzáférjenek a létrehozott kóddokumentum-objektummodellhez (CodeDom), és beszúrhassák és módosíthassák a kódot az elemzési és létrehozási vezérlők során.

(Öröklődés forrása ControlBuilder)
SetResourceKey(String)

Beállítja az objektum erőforráskulcsát ControlBuilder .

(Öröklődés forrása ControlBuilder)
SetServiceProvider(IServiceProvider)

Beállítja az objektum szolgáltatásobjektumát ControlBuilder .

(Öröklődés forrása ControlBuilder)
SetTagInnerText(String)

ControlBuilder A vezérlőcímke belső szövegét adja meg.

(Öröklődés forrása ControlBuilder)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még