Bagikan melalui


HtmlSelectBuilder Kelas

Definisi

Berinteraksi dengan pengurai untuk membangun HtmlSelect kontrol.

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

Contoh

Contoh kode berikut menunjukkan cara membuat kontrol kustom HtmlSelectBuilder yang menentukan dua jenis <option> elemen anak dari kontrol kustom HtmlSelect lalu memproses setiap jenis secara berbeda.

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

Keterangan

Kontrol HtmlSelectBuilder berinteraksi dengan pengurai halaman untuk membangun HtmlSelect kontrol. HtmlSelectBuilder Gunakan kontrol untuk menyesuaikan penguraian HtmlSelect kontrol.

Properti AllowWhitespaceLiterals() diatur ke false sehingga spasi kosong selalu diabaikan. GetChildControlType Gunakan metode untuk menentukan jenis HtmlSelect kontrol anak kontrol.

Catatan Bagi Inheritor

Untuk membuat penyusun kontrol kustom untuk HtmlSelect kontrol, Anda perlu mewarisi dari kelas ini.

Konstruktor

Nama Deskripsi
HtmlSelectBuilder()

Menginisialisasi instans baru dari kelas HtmlSelectBuilder.

Properti

Nama Deskripsi
BindingContainerBuilder

Mendapatkan penyusun kontrol yang sesuai dengan kontainer pengikatan untuk kontrol yang dibuat penyusun ini.

(Diperoleh dari ControlBuilder)
BindingContainerType

Mendapatkan jenis kontainer pengikatan untuk kontrol yang dibuat penyusun ini.

(Diperoleh dari ControlBuilder)
ComplexPropertyEntries

Mendapatkan kumpulan entri properti kompleks.

(Diperoleh dari ControlBuilder)
ControlType

Type Mendapatkan kontrol yang akan dibuat.

(Diperoleh dari ControlBuilder)
CurrentFilterResolutionService

IFilterResolutionService Mendapatkan objek yang digunakan untuk mengelola layanan terkait filter perangkat saat mengurai dan mempertahankan kontrol dalam perancang.

(Diperoleh dari ControlBuilder)
DeclareType

Mendapatkan jenis yang akan digunakan oleh pembuatan kode untuk mendeklarasikan kontrol.

(Diperoleh dari ControlBuilder)
FChildrenAsProperties

Mendapatkan nilai yang menentukan apakah kontrol memiliki dengan ChildrenAsProperties diatur ParseChildrenAttribute ke true.

(Diperoleh dari ControlBuilder)
FIsNonParserAccessor

Mendapatkan nilai yang menentukan apakah kontrol mengimplementasikan IParserAccessor antarmuka.

(Diperoleh dari ControlBuilder)
HasAspCode

Mendapatkan nilai yang menunjukkan apakah kontrol berisi blok kode apa pun.

(Diperoleh dari ControlBuilder)
ID

Mendapatkan atau mengatur properti pengidentifikasi untuk kontrol yang akan dibangun.

(Diperoleh dari ControlBuilder)
InDesigner

Mengembalikan apakah ControlBuilder berjalan di perancang.

(Diperoleh dari ControlBuilder)
InPageTheme

Mendapatkan nilai Boolean yang menunjukkan apakah objek ini ControlBuilder digunakan untuk menghasilkan tema halaman.

(Diperoleh dari ControlBuilder)
ItemType

Mendapatkan jenis yang diatur pada kontainer pengikatan.

(Diperoleh dari ControlBuilder)
Localize

Mendapatkan nilai Boolean yang menunjukkan apakah kontrol yang dibuat oleh objek ini ControlBuilder dilokalkan.

(Diperoleh dari ControlBuilder)
NamingContainerType

Mendapatkan jenis kontainer penamaan untuk kontrol yang dibuat penyusun ini.

(Diperoleh dari ControlBuilder)
PageVirtualPath

Mendapatkan jalur virtual halaman yang akan dibangun oleh instans ini ControlBuilder .

(Diperoleh dari ControlBuilder)
Parser

TemplateParser Bertanggung jawab untuk mengurai kontrol.

(Diperoleh dari ControlBuilder)
ServiceProvider

Mendapatkan objek layanan untuk objek ini ControlBuilder .

(Diperoleh dari ControlBuilder)
SubBuilders

Mendapatkan daftar objek anak ControlBuilder untuk objek ini ControlBuilder .

(Diperoleh dari ControlBuilder)
TagName

Mendapatkan nama tag untuk kontrol yang akan dibangun.

(Diperoleh dari ControlBuilder)
TemplatePropertyEntries

Mendapatkan kumpulan entri properti templat.

(Diperoleh dari ControlBuilder)
ThemeResolutionService

IThemeResolutionService Mendapatkan objek yang digunakan dalam waktu desain untuk mengelola tema dan kulit kontrol.

(Diperoleh dari ControlBuilder)

Metode

Nama Deskripsi
AllowWhitespaceLiterals()

Menentukan apakah spasi kosong harfiah dalam HtmlSelect kontrol akan diproses atau diabaikan.

AppendLiteralString(String)

Menambahkan konten harfiah yang ditentukan ke kontrol. Metode ini dipanggil oleh kerangka kerja halaman ASP.NET.

(Diperoleh dari ControlBuilder)
AppendSubBuilder(ControlBuilder)

Menambahkan penyusun ke ControlBuilder objek untuk kontrol turunan apa pun yang termasuk dalam kontrol kontainer.

(Diperoleh dari ControlBuilder)
BuildObject()

Membangun instans waktu desain kontrol yang dirujuk oleh objek ini ControlBuilder .

(Diperoleh dari ControlBuilder)
CloseControl()

Dipanggil oleh pengurai untuk memberi tahu pembangun bahwa penguraian tag pembukaan dan penutupan kontrol selesai.

(Diperoleh dari ControlBuilder)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetChildControlType(String, IDictionary)

Type Mendapatkan untuk HtmlSelect kontrol anak kontrol.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetObjectPersistData()

ObjectPersistData Membuat objek untuk objek iniControlBuilder.

(Diperoleh dari ControlBuilder)
GetResourceKey()

Mengambil kunci sumber daya untuk objek ini ControlBuilder .

(Diperoleh dari ControlBuilder)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
HasBody()

Menentukan apakah kontrol memiliki tag pembuka dan penutup. Metode ini dipanggil oleh kerangka kerja halaman ASP.NET.

(Diperoleh dari ControlBuilder)
HtmlDecodeLiterals()

Menentukan apakah string harfiah kontrol HTML harus didekodekan HTML. Metode ini dipanggil oleh kerangka kerja halaman ASP.NET.

(Diperoleh dari ControlBuilder)
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary)

Menginisialisasi ControlBuilder untuk digunakan setelah instans. Metode ini dipanggil oleh kerangka kerja halaman ASP.NET.

(Diperoleh dari ControlBuilder)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
NeedsTagInnerText()

Menentukan apakah penyusun kontrol perlu mendapatkan teks dalamnya. Jika demikian, SetTagInnerText(String) metode harus dipanggil. Metode ini dipanggil oleh kerangka kerja halaman ASP.NET.

(Diperoleh dari ControlBuilder)
OnAppendToParentBuilder(ControlBuilder)

Memberi tahu ControlBuilder bahwa file ditambahkan ke penyusun kontrol induk.

(Diperoleh dari ControlBuilder)
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod)

Memungkinkan penyusun kontrol kustom untuk mengakses Model Objek Dokumen Kode (CodeDom) yang dihasilkan dan menyisipkan dan memodifikasi kode selama proses penguraian dan kontrol bangunan.

(Diperoleh dari ControlBuilder)
SetResourceKey(String)

Mengatur kunci sumber daya untuk objek ini ControlBuilder .

(Diperoleh dari ControlBuilder)
SetServiceProvider(IServiceProvider)

Menyetel objek layanan untuk objek ini ControlBuilder .

(Diperoleh dari ControlBuilder)
SetTagInnerText(String)

ControlBuilder Menyediakan teks dalam tag kontrol.

(Diperoleh dari ControlBuilder)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga