HtmlSelectBuilder Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir denetim oluşturmak HtmlSelect için ayrıştırıcıyla etkileşim kurar.
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
- Devralma
Örnekler
Aşağıdaki kod örneği, bir özel HtmlSelectBuilder denetimin iki tür <option>
alt öğesini tanımlayan ve ardından her türü farklı şekilde işleyen bir özel HtmlSelect denetimin nasıl oluşturulacağını gösterir.
<%@ 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
Açıklamalar
Denetim, HtmlSelectBuilder bir HtmlSelect denetim oluşturmak için sayfa ayrıştırıcısıyla etkileşim kurar. Denetimi ayrıştırmayı HtmlSelectBuilder HtmlSelect özelleştirmek için denetimi kullanın.
AllowWhitespaceLiterals özelliği olarak ayarlanırfalse
, böylece boşluk her zaman yoksayılır. Denetimin GetChildControlType alt denetimlerinin HtmlSelect türünü belirlemek için yöntemini kullanın.
Devralanlara Notlar
Bir denetim için özel denetim oluşturucusu oluşturmak için HtmlSelect bu sınıftan devralmanız gerekir.
Oluşturucular
HtmlSelectBuilder() |
HtmlSelectBuilder sınıfının yeni bir örneğini başlatır. |
Özellikler
BindingContainerBuilder |
Bu oluşturucunun oluşturduğu denetim için bağlama kapsayıcısına karşılık gelen denetim oluşturucusunu alır. (Devralındığı yer: ControlBuilder) |
BindingContainerType |
Bu oluşturucunun oluşturduğu denetim için bağlama kapsayıcısının türünü alır. (Devralındığı yer: ControlBuilder) |
ComplexPropertyEntries |
Karmaşık özellik girdileri koleksiyonunu alır. (Devralındığı yer: ControlBuilder) |
ControlType |
Type Oluşturulacak denetimin öğesini alır. (Devralındığı yer: ControlBuilder) |
CurrentFilterResolutionService |
Tasarımcıda denetimleri ayrıştırırken ve kalıcı hale getirmek için cihaz filtresiyle ilgili hizmetleri yönetmek için kullanılan bir IFilterResolutionService nesneyi alır. (Devralındığı yer: ControlBuilder) |
DeclareType |
Denetimi bildirmek için kod oluşturma tarafından kullanılacak türü alır. (Devralındığı yer: ControlBuilder) |
FChildrenAsProperties |
Denetimin ile olarak ayarlanıp ayarlanmadığını |
FIsNonParserAccessor |
Denetimin arabirimi uygulayıp uygulamadığını IParserAccessor belirleyen bir değer alır. (Devralındığı yer: ControlBuilder) |
HasAspCode |
Denetimin kod blokları içerip içermediğini belirten bir değer alır. (Devralındığı yer: ControlBuilder) |
ID |
Oluşturulacak denetimin tanımlayıcı özelliğini alır veya ayarlar. (Devralındığı yer: ControlBuilder) |
InDesigner |
öğesinin ControlBuilder tasarımcıda çalışıp çalışmadığını döndürür. (Devralındığı yer: ControlBuilder) |
InPageTheme |
Bu ControlBuilder nesnenin sayfa temaları oluşturmak için kullanılıp kullanılmadığını belirten bir Boole değeri alır. (Devralındığı yer: ControlBuilder) |
ItemType |
Bağlama kapsayıcısı üzerinde ayarlanan türü alır. (Devralındığı yer: ControlBuilder) |
Localize |
Bu ControlBuilder nesne tarafından oluşturulan denetimin yerelleştirilip oluşturulmadığını belirten bir Boole değeri alır. (Devralındığı yer: ControlBuilder) |
NamingContainerType |
Bu oluşturucunun oluşturduğu denetimin adlandırma kapsayıcısının türünü alır. (Devralındığı yer: ControlBuilder) |
PageVirtualPath |
Bu ControlBuilder örnek tarafından oluşturulacak sayfanın sanal yolunu alır. (Devralındığı yer: ControlBuilder) |
Parser |
TemplateParser Denetimi ayrıştırma sorumluluğunu alır. (Devralındığı yer: ControlBuilder) |
ServiceProvider |
Bu ControlBuilder nesne için hizmet nesnesini alır. (Devralındığı yer: ControlBuilder) |
SubBuilders |
Bu ControlBuilder nesne için alt ControlBuilder nesnelerin listesini alır. (Devralındığı yer: ControlBuilder) |
TagName |
Oluşturulacak denetimin etiket adını alır. (Devralındığı yer: ControlBuilder) |
TemplatePropertyEntries |
Şablon özelliği girdileri koleksiyonunu alır. (Devralındığı yer: ControlBuilder) |
ThemeResolutionService |
Denetim temalarını ve dış görünümlerini yönetmek için tasarım zamanında kullanılan bir IThemeResolutionService nesneyi alır. (Devralındığı yer: ControlBuilder) |
Yöntemler
AllowWhitespaceLiterals() |
Bir HtmlSelect denetimdeki boşluk değişmez değerlerinin işlenip işlenmeyeceğini veya yoksayılıp yoksayılmayacağını belirler. |
AppendLiteralString(String) |
Belirtilen değişmez değeri bir denetime ekler. Bu yöntem, ASP.NET sayfa çerçevesi tarafından çağrılır. (Devralındığı yer: ControlBuilder) |
AppendSubBuilder(ControlBuilder) |
Kapsayıcı denetimine ControlBuilder ait tüm alt denetimler için nesneye oluşturucular ekler. (Devralındığı yer: ControlBuilder) |
BuildObject() |
Bu ControlBuilder nesne tarafından başvuruda bulunılan denetimin tasarım zamanı örneğini oluşturur. (Devralındığı yer: ControlBuilder) |
CloseControl() |
Oluşturucuyu denetimin açma ve kapatma etiketlerinin ayrıştırma işleminin tamamlandığını bildirmek için ayrıştırıcı tarafından çağrılır. (Devralındığı yer: ControlBuilder) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetChildControlType(String, IDictionary) |
Denetimin HtmlSelect alt denetimleri için öğesini Type alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetObjectPersistData() |
Bu ControlBuilder nesne için ObjectPersistData nesnesini oluşturur. (Devralındığı yer: ControlBuilder) |
GetResourceKey() |
Bu ControlBuilder nesnenin kaynak anahtarını alır. (Devralındığı yer: ControlBuilder) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
HasBody() |
Denetimin hem açma hem de kapatma etiketi olup olmadığını belirler. Bu yöntem, ASP.NET sayfa çerçevesi tarafından çağrılır. (Devralındığı yer: ControlBuilder) |
HtmlDecodeLiterals() |
Html denetiminin değişmez dizesinin HTML kodunun çözülmesi gerekip gerekmediğini belirler. Bu yöntem, ASP.NET sayfa çerçevesi tarafından çağrılır. (Devralındığı yer: ControlBuilder) |
Init(TemplateParser, ControlBuilder, Type, String, String, IDictionary) |
örneği başlatıldıktan sonra kullanılacak öğesini ControlBuilder başlatır. Bu yöntem, ASP.NET sayfa çerçevesi tarafından çağrılır. (Devralındığı yer: ControlBuilder) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
NeedsTagInnerText() |
Denetim oluşturucusunun iç metnini alması gerekip gerekmediğini belirler. Bu durumda yöntemi SetTagInnerText(String) çağrılmalıdır. Bu yöntem, ASP.NET sayfa çerçevesi tarafından çağrılır. (Devralındığı yer: ControlBuilder) |
OnAppendToParentBuilder(ControlBuilder) |
ControlBuilder Üst denetim oluşturucusunun eklendiğini bildirir. (Devralındığı yer: ControlBuilder) |
ProcessGeneratedCode(CodeCompileUnit, CodeTypeDeclaration, CodeTypeDeclaration, CodeMemberMethod, CodeMemberMethod) |
Özel denetim oluşturucularının oluşturulan Kod Belgesi Nesne Modeli'ne (CodeDom) erişmesini ve denetimleri ayrıştırma ve derleme işlemi sırasında kod eklemesini ve değiştirmesini sağlar. (Devralındığı yer: ControlBuilder) |
SetResourceKey(String) |
Bu ControlBuilder nesnenin kaynak anahtarını ayarlar. (Devralındığı yer: ControlBuilder) |
SetServiceProvider(IServiceProvider) |
Bu ControlBuilder nesne için hizmet nesnesini ayarlar. (Devralındığı yer: ControlBuilder) |
SetTagInnerText(String) |
ControlBuilder denetim etiketinin iç metnini sağlar. (Devralındığı yer: ControlBuilder) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |