HtmlSelectBuilder Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
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 |
| 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) |