HtmlSelectBuilder Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Interagerar med parsern för att skapa en HtmlSelect kontroll.
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
- Arv
Exempel
I följande kodexempel visas hur du skapar en anpassad HtmlSelectBuilder kontroll som definierar två typer av <option> underordnade element i en anpassad HtmlSelect kontroll och sedan bearbetar varje typ på olika sätt.
<%@ 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
Kommentarer
Kontrollen HtmlSelectBuilder interagerar med sidparsern för att skapa en HtmlSelect kontroll. Använd kontrollen HtmlSelectBuilder för att anpassa parsningen av en HtmlSelect kontroll.
Egenskapen AllowWhitespaceLiterals() är inställd på false så att tomt utrymme alltid ignoreras.
GetChildControlType Använd metoden för att fastställa typen av kontrollens HtmlSelect underordnade kontroller.
Anteckningar till arvingar
Om du vill skapa en anpassad kontrollbyggare för en HtmlSelect kontroll måste du ärva från den här klassen.
Konstruktorer
| Name | Description |
|---|---|
| HtmlSelectBuilder() |
Initierar en ny instans av HtmlSelectBuilder klassen. |
Egenskaper
| Name | Description |
|---|---|
| BindingContainerBuilder |
Hämtar kontrollverktyget som motsvarar bindningscontainern för den kontroll som den här byggaren skapar. (Ärvd från ControlBuilder) |
| BindingContainerType |
Hämtar typen av bindningscontainer för den kontroll som den här byggaren skapar. (Ärvd från ControlBuilder) |
| ComplexPropertyEntries |
Hämtar en samling komplexa egenskapsposter. (Ärvd från ControlBuilder) |
| ControlType |
Type Hämtar kontrollen som ska skapas. (Ärvd från ControlBuilder) |
| CurrentFilterResolutionService |
Hämtar ett IFilterResolutionService objekt som används för att hantera enhetsfilterrelaterade tjänster när du parsar och bevarar kontroller i designern. (Ärvd från ControlBuilder) |
| DeclareType |
Hämtar den typ som ska användas av kodgenereringen för att deklarera kontrollen. (Ärvd från ControlBuilder) |
| FChildrenAsProperties |
Hämtar ett värde som avgör om kontrollen har ett ParseChildrenAttribute med ChildrenAsProperties inställt på |
| FIsNonParserAccessor |
Hämtar ett värde som avgör om kontrollen implementerar IParserAccessor gränssnittet. (Ärvd från ControlBuilder) |
| HasAspCode |
Hämtar ett värde som anger om kontrollen innehåller några kodblock. (Ärvd från ControlBuilder) |
| ID |
Hämtar eller anger identifieraregenskapen för kontrollen som ska skapas. (Ärvd från ControlBuilder) |
| InDesigner |
Returnerar om ControlBuilder körs i designern. (Ärvd från ControlBuilder) |
| InPageTheme |
Hämtar ett booleskt värde som anger om det här ControlBuilder objektet används för att generera sidteman. (Ärvd från ControlBuilder) |
| ItemType |
Hämtar den typ som angetts för bindningscontainern. (Ärvd från ControlBuilder) |
| Localize |
Hämtar ett booleskt värde som anger om kontrollen som skapas av det här ControlBuilder objektet är lokaliserad. (Ärvd från ControlBuilder) |
| NamingContainerType |
Hämtar typen av namngivningscontainer för den kontroll som den här byggaren skapar. (Ärvd från ControlBuilder) |
| PageVirtualPath |
Hämtar den virtuella sökvägen till en sida som ska skapas av den här ControlBuilder instansen. (Ärvd från ControlBuilder) |
| Parser |
Hämtar ansvaret TemplateParser för att parsa kontrollen. (Ärvd från ControlBuilder) |
| ServiceProvider |
Hämtar tjänstobjektet för det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| SubBuilders |
Hämtar en lista över underordnade ControlBuilder objekt för det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| TagName |
Hämtar taggnamnet för kontrollen som ska skapas. (Ärvd från ControlBuilder) |
| TemplatePropertyEntries |
Hämtar en samling mallegenskapsposter. (Ärvd från ControlBuilder) |
| ThemeResolutionService |
Hämtar ett IThemeResolutionService objekt som används i designtid för att hantera kontrollteman och skinn. (Ärvd från ControlBuilder) |
Metoder
| Name | Description |
|---|---|
| AllowWhitespaceLiterals() |
Avgör om blankstegsliteralerna i en HtmlSelect kontroll ska bearbetas eller ignoreras. |
| AppendLiteralString(String) |
Lägger till det angivna literalinnehållet i en kontroll. Den här metoden anropas av det ASP.NET sidramverket. (Ärvd från ControlBuilder) |
| AppendSubBuilder(ControlBuilder) |
Lägger till byggare i ControlBuilder objektet för alla underordnade kontroller som tillhör containerkontrollen. (Ärvd från ControlBuilder) |
| BuildObject() |
Skapar en designtidsinstans av kontrollen som refereras till av det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| CloseControl() |
Anropas av parsern för att informera byggaren om att parsningen av kontrollens inledande och avslutande taggar är klar. (Ärvd från ControlBuilder) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetChildControlType(String, IDictionary) |
Hämtar Type för kontrollens HtmlSelect underordnade kontroller. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetObjectPersistData() |
Skapar objektet ObjectPersistData för det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| GetResourceKey() |
Hämtar resursnyckeln för det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| HasBody() |
Avgör om en kontroll har både en inledande och avslutande tagg. Den här metoden anropas av det ASP.NET sidramverket. (Ärvd från ControlBuilder) |
| HtmlDecodeLiterals() |
Avgör om literalsträngen för en HTML-kontroll måste vara HTML-avkodad. Den här metoden anropas av det ASP.NET sidramverket. (Ärvd från ControlBuilder) |
| Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) |
Initierar ControlBuilder för användning när den har instansierats. Den här metoden anropas av det ASP.NET sidramverket. (Ärvd från ControlBuilder) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| NeedsTagInnerText() |
Avgör om kontrollverktyget behöver hämta sin inre text. I så fall SetTagInnerText(String) måste metoden anropas. Den här metoden anropas av det ASP.NET sidramverket. (Ärvd från ControlBuilder) |
| OnAppendToParentBuilder(ControlBuilder) |
Meddelar att den läggs till i en överordnad ControlBuilder kontrollbyggare. (Ärvd från ControlBuilder) |
| ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) |
Gör det möjligt för anpassade kontrollbyggare att komma åt den genererade koddokumentobjektmodellen (CodeDom) och infoga och ändra kod under parsnings- och byggkontroller. (Ärvd från ControlBuilder) |
| SetResourceKey(String) |
Anger resursnyckeln för det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| SetServiceProvider(IServiceProvider) |
Anger tjänstobjektet för det här ControlBuilder objektet. (Ärvd från ControlBuilder) |
| SetTagInnerText(String) |
ControlBuilder Innehåller den inre texten i kontrolltaggen. (Ärvd från ControlBuilder) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |