HtmlSelectBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Interaguje s analyzátorem a vytváří HtmlSelect ovládací prvek.
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
- Dědičnost
Příklady
Následující příklad kódu ukazuje, jak vytvořit vlastní HtmlSelectBuilder ovládací prvek, který definuje dva typy podřízených prvků vlastního <option>
HtmlSelect ovládacího prvku a pak zpracovává každý typ odlišně.
<%@ 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
Poznámky
Ovládací HtmlSelectBuilder prvek pracuje s analyzátorem stránek a sestaví HtmlSelect ovládací prvek. HtmlSelectBuilder Pomocí ovládacího prvku můžete přizpůsobit analýzu HtmlSelect ovládacího prvku.
Vlastnost AllowWhitespaceLiterals je nastavena tak false
, aby prázdné znaky byly vždy ignorovány. GetChildControlType Pomocí metody určete typ podřízených ovládacích HtmlSelect prvků ovládacího prvku.
Poznámky pro dědice
Chcete-li vytvořit vlastní tvůrce ovládacích HtmlSelect prvků pro ovládací prvek, musíte zdědit z této třídy.
Konstruktory
HtmlSelectBuilder() |
Inicializuje novou instanci HtmlSelectBuilder třídy. |
Vlastnosti
BindingContainerBuilder |
Získá tvůrce ovládacích prvků, který odpovídá kontejneru vazby pro ovládací prvek, který tento tvůrce vytvoří. (Zděděno od ControlBuilder) |
BindingContainerType |
Získá typ kontejneru vazby pro ovládací prvek, který tento tvůrce vytvoří. (Zděděno od ControlBuilder) |
ComplexPropertyEntries |
Získá kolekci komplexních položek vlastností. (Zděděno od ControlBuilder) |
ControlType |
Type Získá pro ovládací prvek, který má být vytvořen. (Zděděno od ControlBuilder) |
CurrentFilterResolutionService |
IFilterResolutionService Získá objekt, který slouží ke správě služeb souvisejících s filtrováním zařízení při analýze a zachování ovládacích prvků v návrháři. (Zděděno od ControlBuilder) |
DeclareType |
Získá typ, který bude používán generováním kódu deklarovat ovládací prvek. (Zděděno od ControlBuilder) |
FChildrenAsProperties |
Získá hodnotu, která určuje, zda má ovládací prvek s ChildrenAsProperties nastavenou ParseChildrenAttribute hodnotou |
FIsNonParserAccessor |
Získá hodnotu, která určuje, zda ovládací prvek implementuje IParserAccessor rozhraní. (Zděděno od ControlBuilder) |
HasAspCode |
Získá hodnotu označující, zda ovládací prvek obsahuje nějaké bloky kódu. (Zděděno od ControlBuilder) |
ID |
Získá nebo nastaví vlastnost identifikátoru pro ovládací prvek, který má být sestaven. (Zděděno od ControlBuilder) |
InDesigner |
Vrátí, jestli ControlBuilder je spuštěný v návrháři. (Zděděno od ControlBuilder) |
InPageTheme |
Získá logickou hodnotu určující, zda se tento ControlBuilder objekt používá k vygenerování motivů stránek. (Zděděno od ControlBuilder) |
ItemType |
Získá typ nastavený na kontejner vazby. (Zděděno od ControlBuilder) |
Localize |
Získá logickou hodnotu určující, zda je ovládací prvek vytvořený tímto ControlBuilder objektem lokalizován. (Zděděno od ControlBuilder) |
NamingContainerType |
Získá typ kontejneru pojmenování pro ovládací prvek, který tento tvůrce vytvoří. (Zděděno od ControlBuilder) |
PageVirtualPath |
Získá virtuální cestu stránky, kterou má tato ControlBuilder instance sestavit. (Zděděno od ControlBuilder) |
Parser |
TemplateParser Získá odpovědnost za parsování ovládacího prvku. (Zděděno od ControlBuilder) |
ServiceProvider |
Získá objekt služby pro tento ControlBuilder objekt. (Zděděno od ControlBuilder) |
SubBuilders |
Získá seznam podřízených ControlBuilder objektů pro tento ControlBuilder objekt. (Zděděno od ControlBuilder) |
TagName |
Získá název značky pro ovládací prvek, který se má sestavit. (Zděděno od ControlBuilder) |
TemplatePropertyEntries |
Získá kolekci položek vlastností šablony. (Zděděno od ControlBuilder) |
ThemeResolutionService |
IThemeResolutionService Získá objekt, který se používá v době návrhu ke správě řídicích motivů a skinů. (Zděděno od ControlBuilder) |
Metody
AllowWhitespaceLiterals() |
Určuje, jestli se mají literály prázdných znaků v ovládacím HtmlSelect prvku zpracovávat nebo ignorovat. |
AppendLiteralString(String) |
Přidá zadaný obsah literálu do ovládacího prvku. Tato metoda je volána ASP.NET stránkovou architekturou. (Zděděno od ControlBuilder) |
AppendSubBuilder(ControlBuilder) |
Přidá tvůrce do objektu ControlBuilder pro všechny podřízené ovládací prvky, které patří do ovládacího prvku kontejneru. (Zděděno od ControlBuilder) |
BuildObject() |
Vytvoří instanci návrhu ovládacího prvku, který je odkazován tímto ControlBuilder objektem. (Zděděno od ControlBuilder) |
CloseControl() |
Zavolá parser, aby informoval tvůrce, že analýza otevírání a zavírání ovládacích prvků je dokončena. (Zděděno od ControlBuilder) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetChildControlType(String, IDictionary) |
Type Získá podřízené HtmlSelect ovládací prvky ovládacího prvku. |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetObjectPersistData() |
ObjectPersistData Vytvoří objekt pro tento ControlBuilder objekt. (Zděděno od ControlBuilder) |
GetResourceKey() |
Načte klíč prostředku pro tento ControlBuilder objekt. (Zděděno od ControlBuilder) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
HasBody() |
Určuje, jestli má ovládací prvek levou i pravou značku. Tato metoda je volána ASP.NET stránkovou architekturou. (Zděděno od ControlBuilder) |
HtmlDecodeLiterals() |
Určuje, zda literální řetězec ovládacího prvku HTML musí být dekódován HTML. Tato metoda je volána ASP.NET stránkovou architekturou. (Zděděno od ControlBuilder) |
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) |
Inicializuje ControlBuilder použití po vytvoření instance. Tato metoda je volána ASP.NET stránkovou architekturou. (Zděděno od ControlBuilder) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
NeedsTagInnerText() |
Určuje, jestli tvůrce ovládacích prvků potřebuje získat jeho vnitřní text. Pokud ano, SetTagInnerText(String) musí být volána metoda. Tato metoda je volána ASP.NET stránkovou architekturou. (Zděděno od ControlBuilder) |
OnAppendToParentBuilder(ControlBuilder) |
Upozorní ControlBuilder , že se přidává do nadřazeného tvůrce ovládacích prvků. (Zděděno od ControlBuilder) |
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) |
Umožňuje vlastním tvůrcem ovládacích prvků získat přístup k vygenerovanému modelu code Document Object Model (CodeDom) a během procesu parsování a vytváření ovládacích prvků vkládat a upravovat kód. (Zděděno od ControlBuilder) |
SetResourceKey(String) |
Nastaví klíč prostředku pro tento ControlBuilder objekt. (Zděděno od ControlBuilder) |
SetServiceProvider(IServiceProvider) |
Nastaví objekt služby pro tento ControlBuilder objekt. (Zděděno od ControlBuilder) |
SetTagInnerText(String) |
ControlBuilder Poskytuje vnitřní text značky ovládacího prvku. (Zděděno od ControlBuilder) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |