HtmlSelectBuilder Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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 ingesteld |
| 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) |