HtmlSelect.RenderChildren-Methode
Rendert die untergeordneten Steuerelemente des HtmlSelect-Steuerelements in das angegebene HtmlTextWriter-Objekt.
Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Protected Friend Overrides Sub RenderChildren ( _
writer As HtmlTextWriter _
)
'Usage
Dim writer As HtmlTextWriter
Me.RenderChildren(writer)
protected internal override void RenderChildren (
HtmlTextWriter writer
)
protected public:
virtual void RenderChildren (
HtmlTextWriter^ writer
) override
protected void RenderChildren (
HtmlTextWriter writer
)
protected internal override function RenderChildren (
writer : HtmlTextWriter
)
Parameter
- writer
Der HtmlTextWriter, der den gerenderten Inhalt empfängt.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Es wurden mehrere Elemente ausgewählt, aber die Multiple-Eigenschaft wurde auf false festgelegt. |
Hinweise
Die RenderChildren-Methode überschreibt die RenderChildren-Methode der Basisklasse ohne die Basismethode aufzurufen. Jedes <option>-Element zwischen dem öffnenden und dem schließenden <select>-Tag wird mit einem value-Attribut, einem selected-Attribut, sofern das Element ausgewählt wurde, und dem zugeordneten Text gerendert.
Wenn mehrere Elemente ausgewählt wurden, aber die Multiple-Eigenschaft auf false festgelegt ist, wird eine HttpException-Ausnahme ausgelöst.
Beispiel
Im folgenden Codebeispiel wird das Überschreiben der RenderChildren-Methode veranschaulicht, sodass diese immer den Standardoptionstext in einem benutzerdefinierten HtmlSelect-Serversteuerelement anzeigt.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<HTML>
<HEAD>
<title>Custom HtmlSelect - RenderChildren - VB.NET Example</title>
<script runat="server">
Sub HtmlInputButton1_ServerClick(sender As Object, e As EventArgs)
If HtmlSelect1.SelectedIndex >= 0 Then
If HtmlSelect1.Multiple = True Then
Div1.InnerHtml = "You selected:"
Dim i As Integer
For i = 0 To HtmlSelect1.Items.Count - 1
If HtmlSelect1.Items(i).Selected = True Then
Div1.InnerHtml += "<br> " & HtmlSelect1.Items(i).Value
End If
Next i
Else
Div1.InnerHtml = "You selected " & HtmlSelect1.Value
End If
Else
Div1.InnerHtml = "You did not select an item."
End If
End Sub
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom HtmlSelect - RenderChildren - VB.NET Example</h3>
<p>
<aspSample:CustomHtmlSelectRenderChildren
id="HtmlSelect1" multiple
name="HtmlSelect1"
runat="server">
<OPTION value="Option1">Option1</OPTION>
<OPTION value="Option2">Option2</OPTION>
<OPTION value="Option3">Option3</OPTION>
</aspSample:CustomHtmlSelectRenderChildren>
</p>
<p>
<INPUT
id="HtmlInputButton1"
runat="server"
type="button"
onserverclick="HtmlInputButton1_ServerClick"
value="Select"
name="HtmlInputButton1">
</p>
<p>
<DIV id="Div1" runat="server"
style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px"
ms_positioning="FlowLayout" />
</p>
</form>
</body>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<HTML>
<HEAD>
<title>Custom HtmlSelect - RenderChildren - C# Example</title>
<script runat="server">
void HtmlInputButton1_ServerClick(Object sender, EventArgs e)
{
if (HtmlSelect1.SelectedIndex >= 0)
{
if (HtmlSelect1.Multiple == true)
{
Div1.InnerHtml = "You selected:";
for (int i=0; i<=HtmlSelect1.Items.Count - 1; i++)
{
if (HtmlSelect1.Items[i].Selected == true)
{
Div1.InnerHtml += "<br> " + HtmlSelect1.Items[i].Value;
}
}
}
else
{
Div1.InnerHtml = "You selected " + HtmlSelect1.Value;
}
}
else
{
Div1.InnerHtml = "You did not select an item.";
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom HtmlSelect - RenderChildren - C# Example</h3>
<p>
<aspSample:CustomHtmlSelectRenderChildren
id="HtmlSelect1" multiple
name="HtmlSelect1"
runat="server">
<OPTION value="Option1">Option1</OPTION>
<OPTION value="Option2">Option2</OPTION>
<OPTION value="Option3">Option3</OPTION>
</aspSample:CustomHtmlSelectRenderChildren>
</p>
<p>
<INPUT
id="HtmlInputButton1"
runat="server"
type="button"
onserverclick="HtmlInputButton1_ServerClick"
value="Select"
name="HtmlInputButton1">
</p>
<p>
<DIV id="Div1" runat="server"
style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px"
ms_positioning="FlowLayout" />
</p>
</form>
</body>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<HTML>
<HEAD>
<title>Custom HtmlSelect - RenderChildren - VJ# Example</title>
<script runat="server">
void HtmlInputButton1_ServerClick(Object sender, EventArgs e)
{
if (HtmlSelect1.get_SelectedIndex() >= 0) {
if (HtmlSelect1.get_Multiple() == true) {
Div1.set_InnerHtml("You selected:");
for (int i=0; i<=HtmlSelect1.get_Items().get_Count() - 1; i++) {
if (HtmlSelect1.get_Items().get_Item(i).
get_Selected() == true) {
Div1.set_InnerHtml(Div1.get_InnerHtml() + "<br> " + HtmlSelect1.get_Items().get_Item(i).get_Value());
}
}
}
else {
Div1.set_InnerHtml("You selected " + HtmlSelect1.get_Value());
}
}
else {
Div1.set_InnerHtml("You did not select an item.");
}
} //HtmlInputButton1_ServerClick
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom HtmlSelect - RenderChildren - VJ# Example</h3>
<p>
<aspSample:CustomHtmlSelectRenderChildren
id="HtmlSelect1" multiple
name="HtmlSelect1"
runat="server">
<OPTION value="Option1">Option1</OPTION>
<OPTION value="Option2">Option2</OPTION>
<OPTION value="Option3">Option3</OPTION>
</aspSample:CustomHtmlSelectRenderChildren>
</p>
<p>
<INPUT
id="HtmlInputButton1"
runat="server"
type="button"
onserverclick="HtmlInputButton1_ServerClick"
value="Select"
name="HtmlInputButton1">
</p>
<p>
<DIV id="Div1" runat="server"
style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px"
ms_positioning="FlowLayout" />
</p>
</form>
</body>
</HTML>
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomHtmlSelectRenderChildren
Inherits System.Web.UI.HtmlControls.HtmlSelect
Protected Overrides Sub RenderChildren(ByVal writer As System.Web.UI.HtmlTextWriter)
' Create a default OPTION.
Dim listItem As New System.Web.UI.WebControls.ListItem("<Select an option> ", "")
Me.Items.Insert(0, listItem)
' Call base's RenderChildren method.
MyBase.RenderChildren(writer)
End Sub
End Class
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomHtmlSelectRenderChildren : System.Web.UI.HtmlControls.HtmlSelect
{
protected override void RenderChildren(System.Web.UI.HtmlTextWriter writer)
{
// Create a default OPTION.
System.Web.UI.WebControls.ListItem listItem = new System.Web.UI.WebControls.ListItem("<Select an option> ","");
this.Items.Insert(0, listItem);
// Call base's RenderChildren method.
base.RenderChildren(writer);
}
}
}
package Samples.AspNet.JSL.Controls;
public class CustomHtmlSelectRenderChildren
extends System.Web.UI.HtmlControls.HtmlSelect
{
protected void RenderChildren(System.Web.UI.HtmlTextWriter writer)
{
// Create a default OPTION.
System.Web.UI.WebControls.ListItem listItem =
new System.Web.UI.WebControls.ListItem("<Select an option> ", "");
this.get_Items().Insert(0, listItem);
// Call base's RenderChildren method.
super.RenderChildren(writer);
} //RenderChildren
} //CustomHtmlSelectRenderChildren
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
HtmlSelect-Klasse
HtmlSelect-Member
System.Web.UI.HtmlControls-Namespace
ListItem