HtmlSelectBuilder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Interagit avec l’analyseur pour générer un HtmlSelect contrôle.
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
- Héritage
Exemples
L’exemple de code suivant montre comment créer un contrôle personnalisé HtmlSelectBuilder qui définit deux types d’éléments <option> enfants d’un contrôle personnalisé HtmlSelect , puis traite chaque type différemment.
<%@ 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
Remarques
Le HtmlSelectBuilder contrôle interagit avec l’analyseur de page pour générer un HtmlSelect contrôle. Utilisez le HtmlSelectBuilder contrôle pour personnaliser l’analyse d’un HtmlSelect contrôle.
La AllowWhitespaceLiterals() propriété est définie pour false que l’espace blanc soit toujours ignoré. Utilisez la GetChildControlType méthode pour déterminer le type des HtmlSelect contrôles enfants du contrôle.
Notes pour les héritiers
Pour créer un générateur de contrôles personnalisé pour un HtmlSelect contrôle, vous devez hériter de cette classe.
Constructeurs
| Nom | Description |
|---|---|
| HtmlSelectBuilder() |
Initialise une nouvelle instance de la classe HtmlSelectBuilder. |
Propriétés
| Nom | Description |
|---|---|
| BindingContainerBuilder |
Obtient le générateur de contrôles qui correspond au conteneur de liaison pour le contrôle créé par ce générateur. (Hérité de ControlBuilder) |
| BindingContainerType |
Obtient le type du conteneur de liaison pour le contrôle créé par ce générateur. (Hérité de ControlBuilder) |
| ComplexPropertyEntries |
Obtient une collection d’entrées de propriété complexes. (Hérité de ControlBuilder) |
| ControlType |
Obtient le Type contrôle à créer. (Hérité de ControlBuilder) |
| CurrentFilterResolutionService |
Obtient un IFilterResolutionService objet utilisé pour gérer les services associés au filtre d’appareil lors de l’analyse et de la persistance des contrôles dans le concepteur. (Hérité de ControlBuilder) |
| DeclareType |
Obtient le type qui sera utilisé par la génération de code pour déclarer le contrôle. (Hérité de ControlBuilder) |
| FChildrenAsProperties |
Obtient une valeur qui détermine si le contrôle a une ParseChildrenAttribute valeur définie ChildrenAsProperties |
| FIsNonParserAccessor |
Obtient une valeur qui détermine si le contrôle implémente l’interface IParserAccessor . (Hérité de ControlBuilder) |
| HasAspCode |
Obtient une valeur indiquant si le contrôle contient des blocs de code. (Hérité de ControlBuilder) |
| ID |
Obtient ou définit la propriété d’identificateur du contrôle à générer. (Hérité de ControlBuilder) |
| InDesigner |
Retourne si le ControlBuilder fichier est en cours d’exécution dans le concepteur. (Hérité de ControlBuilder) |
| InPageTheme |
Obtient une valeur booléenne indiquant si cet ControlBuilder objet est utilisé pour générer des thèmes de page. (Hérité de ControlBuilder) |
| ItemType |
Obtient le type défini sur le conteneur de liaison. (Hérité de ControlBuilder) |
| Localize |
Obtient une valeur booléenne indiquant si le contrôle créé par cet ControlBuilder objet est localisé. (Hérité de ControlBuilder) |
| NamingContainerType |
Obtient le type du conteneur d’affectation de noms pour le contrôle créé par ce générateur. (Hérité de ControlBuilder) |
| PageVirtualPath |
Obtient le chemin d’accès virtuel d’une page à générer par cette ControlBuilder instance. (Hérité de ControlBuilder) |
| Parser |
Obtient le TemplateParser responsable de l’analyse du contrôle. (Hérité de ControlBuilder) |
| ServiceProvider |
Obtient l’objet de service pour cet ControlBuilder objet. (Hérité de ControlBuilder) |
| SubBuilders |
Obtient une liste d’objets enfants ControlBuilder pour cet ControlBuilder objet. (Hérité de ControlBuilder) |
| TagName |
Obtient le nom de balise du contrôle à générer. (Hérité de ControlBuilder) |
| TemplatePropertyEntries |
Obtient une collection d’entrées de propriété de modèle. (Hérité de ControlBuilder) |
| ThemeResolutionService |
Obtient un IThemeResolutionService objet utilisé au moment du design pour gérer les thèmes et les apparences de contrôle. (Hérité de ControlBuilder) |
Méthodes
| Nom | Description |
|---|---|
| AllowWhitespaceLiterals() |
Détermine si les littéraux d’espace blanc d’un HtmlSelect contrôle doivent être traités ou ignorés. |
| AppendLiteralString(String) |
Ajoute le contenu littéral spécifié à un contrôle. Cette méthode est appelée par l’infrastructure de page ASP.NET. (Hérité de ControlBuilder) |
| AppendSubBuilder(ControlBuilder) |
Ajoute des générateurs à l’objet ControlBuilder pour tous les contrôles enfants appartenant au contrôle conteneur. (Hérité de ControlBuilder) |
| BuildObject() |
Génère une instance au moment du design du contrôle référencé par cet ControlBuilder objet. (Hérité de ControlBuilder) |
| CloseControl() |
Appelé par l’analyseur pour informer le générateur que l’analyse des balises d’ouverture et de fermeture du contrôle est terminée. (Hérité de ControlBuilder) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetChildControlType(String, IDictionary) |
Obtient les TypeHtmlSelect contrôles enfants du contrôle. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetObjectPersistData() |
Crée l’objet ObjectPersistData de cet ControlBuilder objet. (Hérité de ControlBuilder) |
| GetResourceKey() |
Récupère la clé de ressource pour cet ControlBuilder objet. (Hérité de ControlBuilder) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| HasBody() |
Détermine si un contrôle a une balise d’ouverture et de fermeture. Cette méthode est appelée par l’infrastructure de page ASP.NET. (Hérité de ControlBuilder) |
| HtmlDecodeLiterals() |
Détermine si la chaîne littérale d’un contrôle HTML doit être décodée au format HTML. Cette méthode est appelée par l’infrastructure de page ASP.NET. (Hérité de ControlBuilder) |
| Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) |
Initialise l’utilisation ControlBuilder après son instanciation. Cette méthode est appelée par l’infrastructure de page ASP.NET. (Hérité de ControlBuilder) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| NeedsTagInnerText() |
Détermine si le générateur de contrôles doit obtenir son texte interne. Dans ce cas, la SetTagInnerText(String) méthode doit être appelée. Cette méthode est appelée par l’infrastructure de page ASP.NET. (Hérité de ControlBuilder) |
| OnAppendToParentBuilder(ControlBuilder) |
Avertit le ControlBuilder fait qu’il est ajouté à un générateur de contrôle parent. (Hérité de ControlBuilder) |
| ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) |
Permet aux générateurs de contrôles personnalisés d’accéder au modèle objet de document de code généré (CodeDom) et d’insérer et de modifier du code pendant le processus d’analyse et de génération de contrôles. (Hérité de ControlBuilder) |
| SetResourceKey(String) |
Définit la clé de ressource pour cet ControlBuilder objet. (Hérité de ControlBuilder) |
| SetServiceProvider(IServiceProvider) |
Définit l’objet de service pour cet ControlBuilder objet. (Hérité de ControlBuilder) |
| SetTagInnerText(String) |
Fournit le ControlBuilder texte interne de la balise de contrôle. (Hérité de ControlBuilder) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |