HtmlSelectBuilder Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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 |
| 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) |