HtmlSelectBuilder Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wchodzi w interakcję z analizatorem w celu utworzenia kontrolki 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
- Dziedziczenie
Przykłady
W poniższym przykładzie kodu pokazano, jak utworzyć kontrolkę niestandardową, która definiuje dwa typy <option>
elementów podrzędnych kontrolki niestandardowej HtmlSelectBuilderHtmlSelect, a następnie przetwarza każdy typ inaczej.
<%@ 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
Uwagi
Kontrolka HtmlSelectBuilder współdziała z analizatorem strony w celu utworzenia kontrolki HtmlSelect . Użyj kontrolki, HtmlSelectBuilder aby dostosować analizowanie kontrolki HtmlSelect .
Właściwość jest ustawiona AllowWhitespaceLiterals tak false
, aby odstęp był zawsze ignorowany.
GetChildControlType Użyj metody , aby określić typ kontrolek podrzędnych HtmlSelect kontrolki.
Uwagi dotyczące dziedziczenia
Aby utworzyć niestandardowego konstruktora kontrolek dla kontrolki HtmlSelect , musisz dziedziczyć z tej klasy.
Konstruktory
HtmlSelectBuilder() |
Inicjuje nowe wystąpienie klasy HtmlSelectBuilder. |
Właściwości
BindingContainerBuilder |
Pobiera konstruktora kontrolek, który odpowiada kontenerowi powiązania dla kontrolki tworzonej przez tego konstruktora. (Odziedziczone po ControlBuilder) |
BindingContainerType |
Pobiera typ kontenera powiązania dla kontrolki tworzonej przez tego konstruktora. (Odziedziczone po ControlBuilder) |
ComplexPropertyEntries |
Pobiera kolekcję złożonych wpisów właściwości. (Odziedziczone po ControlBuilder) |
ControlType |
Pobiera kontrolkę Type do utworzenia. (Odziedziczone po ControlBuilder) |
CurrentFilterResolutionService |
IFilterResolutionService Pobiera obiekt używany do zarządzania usługami powiązanymi z filtrowaniem urządzeń podczas analizowania i utrwalania kontrolek w projektancie. (Odziedziczone po ControlBuilder) |
DeclareType |
Pobiera typ, który będzie używany przez generowanie kodu w celu zadeklarowania kontrolki. (Odziedziczone po ControlBuilder) |
FChildrenAsProperties |
Pobiera wartość określającą, czy kontrolka ma wartość z ustawioną wartością ParseChildrenAttributeChildrenAsProperties |
FIsNonParserAccessor |
Pobiera wartość określającą, czy kontrolka implementuje IParserAccessor interfejs. (Odziedziczone po ControlBuilder) |
HasAspCode |
Pobiera wartość wskazującą, czy kontrolka zawiera jakiekolwiek bloki kodu. (Odziedziczone po ControlBuilder) |
ID |
Pobiera lub ustawia właściwość identyfikatora kontrolki do skompilowania. (Odziedziczone po ControlBuilder) |
InDesigner |
Zwraca, ControlBuilder czy element jest uruchomiony w projektancie. (Odziedziczone po ControlBuilder) |
InPageTheme |
Pobiera wartość logiczną wskazującą, czy ten ControlBuilder obiekt jest używany do generowania motywów stron. (Odziedziczone po ControlBuilder) |
ItemType |
Pobiera typ ustawiony w kontenerze powiązania. (Odziedziczone po ControlBuilder) |
Localize |
Pobiera wartość logiczną wskazującą, czy kontrolka utworzona przez ten ControlBuilder obiekt jest zlokalizowana. (Odziedziczone po ControlBuilder) |
NamingContainerType |
Pobiera typ kontenera nazewnictwa dla kontrolki tworzonej przez tego konstruktora. (Odziedziczone po ControlBuilder) |
PageVirtualPath |
Pobiera ścieżkę wirtualną strony do skompilowania przez to ControlBuilder wystąpienie. (Odziedziczone po ControlBuilder) |
Parser |
TemplateParser Pobiera element odpowiedzialny za analizowanie kontrolki. (Odziedziczone po ControlBuilder) |
ServiceProvider |
Pobiera obiekt usługi dla tego ControlBuilder obiektu. (Odziedziczone po ControlBuilder) |
SubBuilders |
Pobiera listę obiektów podrzędnych ControlBuilder dla tego ControlBuilder obiektu. (Odziedziczone po ControlBuilder) |
TagName |
Pobiera nazwę tagu kontrolki do skompilowania. (Odziedziczone po ControlBuilder) |
TemplatePropertyEntries |
Pobiera kolekcję wpisów właściwości szablonu. (Odziedziczone po ControlBuilder) |
ThemeResolutionService |
IThemeResolutionService Pobiera obiekt, który jest używany w czasie projektowania do zarządzania motywami i skórami sterowania. (Odziedziczone po ControlBuilder) |
Metody
AllowWhitespaceLiterals() |
Określa, czy literały białych znaków w kontrolce HtmlSelect mają być przetwarzane, czy ignorowane. |
AppendLiteralString(String) |
Dodaje określoną zawartość literału do kontrolki. Ta metoda jest wywoływana przez platformę stron ASP.NET. (Odziedziczone po ControlBuilder) |
AppendSubBuilder(ControlBuilder) |
Dodaje konstruktorów do ControlBuilder obiektu dla wszystkich kontrolek podrzędnych należących do kontrolki kontenera. (Odziedziczone po ControlBuilder) |
BuildObject() |
Tworzy wystąpienie kontrolki w czasie projektowania, do którego odwołuje się ten ControlBuilder obiekt. (Odziedziczone po ControlBuilder) |
CloseControl() |
Wywołana przez analizator, aby poinformować konstruktora, że analizowanie tagów otwierania i zamykania kontrolki jest zakończone. (Odziedziczone po ControlBuilder) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetChildControlType(String, IDictionary) |
Type Uzyskuje kontrolkę HtmlSelect dla kontrolek podrzędnych kontrolki. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetObjectPersistData() |
ObjectPersistData Tworzy obiekt dla tego ControlBuilder obiektu. (Odziedziczone po ControlBuilder) |
GetResourceKey() |
Pobiera klucz zasobu dla tego ControlBuilder obiektu. (Odziedziczone po ControlBuilder) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
HasBody() |
Określa, czy kontrolka ma zarówno tag otwierający, jak i zamykający. Ta metoda jest wywoływana przez platformę stron ASP.NET. (Odziedziczone po ControlBuilder) |
HtmlDecodeLiterals() |
Określa, czy ciąg literału kontrolki HTML musi być zdekodowany w formacie HTML. Ta metoda jest wywoływana przez platformę stron ASP.NET. (Odziedziczone po ControlBuilder) |
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) |
Inicjuje element do użycia po utworzeniu ControlBuilder wystąpienia. Ta metoda jest wywoływana przez platformę stron ASP.NET. (Odziedziczone po ControlBuilder) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
NeedsTagInnerText() |
Określa, czy konstruktor kontrolki musi uzyskać jego tekst wewnętrzny. Jeśli tak, należy wywołać metodę SetTagInnerText(String) . Ta metoda jest wywoływana przez platformę stron ASP.NET. (Odziedziczone po ControlBuilder) |
OnAppendToParentBuilder(ControlBuilder) |
ControlBuilder Powiadamia o tym, że jest on dodawany do nadrzędnego konstruktora kontrolek. (Odziedziczone po ControlBuilder) |
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) |
Umożliwia niestandardowym konstruktorom kontrolek uzyskiwanie dostępu do wygenerowanego modelu obiektów dokumentów kodu (CodeDom) oraz wstawianie i modyfikowanie kodu podczas procesu analizowania i kompilowania kontrolek. (Odziedziczone po ControlBuilder) |
SetResourceKey(String) |
Ustawia klucz zasobu dla tego ControlBuilder obiektu. (Odziedziczone po ControlBuilder) |
SetServiceProvider(IServiceProvider) |
Ustawia obiekt usługi dla tego ControlBuilder obiektu. (Odziedziczone po ControlBuilder) |
SetTagInnerText(String) |
ControlBuilder Zawiera tekst wewnętrzny tagu kontrolki. (Odziedziczone po ControlBuilder) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |