Freigeben über


HtmlSelect.AddParsedSubObject-Methode

Fügt dem HtmlSelect-Steuerelement ein analysiertes untergeordnetes Steuerelement hinzu.

Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Protected Overrides Sub AddParsedSubObject ( _
    obj As Object _
)
'Usage
Dim obj As Object

Me.AddParsedSubObject(obj)
protected override void AddParsedSubObject (
    Object obj
)
protected:
virtual void AddParsedSubObject (
    Object^ obj
) override
protected void AddParsedSubObject (
    Object obj
)
protected override function AddParsedSubObject (
    obj : Object
)

Parameter

  • obj
    Das analysierte untergeordnete Steuerelement, das hinzugefügt werden soll.

Ausnahmen

Ausnahmetyp Bedingung

HttpException

Das vom obj-Parameter angegebene untergeordnete Steuerelement muss vom Typ ListItem sein.

Hinweise

Mit der AddParsedSubObject-Methode fügt ASP.NET dem HtmlSelect-Steuerelement analysierte untergeordnete Steuerelemente hinzu.

Beispiel

Im folgenden Codebeispiel wird das Überschreiben der AddParsedSubObject-Methode in einem benutzerdefinierten Serversteuerelement veranschaulicht, sodass diese immer prüft, ob zu der HtmlSelect-Auflistung der ausgewählten Elemente eine Instanz der ListItem-Klasse hinzugefügt wurde.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<HTML>
    <HEAD>
        <title>Custom HtmlSelect - AddParsedSubObject - 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> &nbsp;&nbsp; " & 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 - AddParsedSubObject - VB.NET Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectAddParsedSubObject 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <OPTION value="Option1">Option1</OPTION>
        <OPTION value="Option2">Option2</OPTION>
        <OPTION value="Option3">Option3</OPTION>
      </aspSample:CustomHtmlSelectAddParsedSubObject>
      </p>
      
      <p>
      <INPUT 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1">&nbsp;&nbsp;
      </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 - AddParsedSubObject - 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> &nbsp;&nbsp; " + 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 - AddParsedSubObject - C# Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectAddParsedSubObject 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <OPTION value="Option1">Option1</OPTION>
        <OPTION value="Option2">Option2</OPTION>
        <OPTION value="Option3">Option3</OPTION>
      </aspSample:CustomHtmlSelectAddParsedSubObject>
      </p>
      
      <p>
      <INPUT 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1">&nbsp;&nbsp;
      </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 - AddParsedSubObject - 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> &nbsp;&nbsp; "
                            + 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 - AddParsedSubObject - VJ# Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectAddParsedSubObject 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <OPTION value="Option1">Option1</OPTION>
        <OPTION value="Option2">Option2</OPTION>
        <OPTION value="Option3">Option3</OPTION>
      </aspSample:CustomHtmlSelectAddParsedSubObject>
      </p>
      
      <p>
      <INPUT 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1">&nbsp;&nbsp;
      </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 CustomHtmlSelectAddParsedSubObject
    Inherits System.Web.UI.HtmlControls.HtmlSelect

    Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)

        ' If the object is a ListItem, then add the ListItem to the Items collection.
        If TypeOf obj Is System.Web.UI.WebControls.ListItem Then
            Items.Add(CType(obj, System.Web.UI.WebControls.ListItem))
        Else
            Throw New System.Web.HttpException("You cannot have a child control of type " + obj.GetType().Name.ToString())
        End If
    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 CustomHtmlSelectAddParsedSubObject : System.Web.UI.HtmlControls.HtmlSelect
    {
        protected override void AddParsedSubObject(object obj)
        {
            // If the object is a ListItem, then add the ListItem to the Items collection.
            if (obj is System.Web.UI.WebControls.ListItem)
            {
            Items.Add((System.Web.UI.WebControls.ListItem)obj);
            }
            else
            {
            throw new System.Web.HttpException("You cannot have a child control of type " + obj.GetType().Name.ToString());
            }
        }
    }
}
package Samples.AspNet.JSL.Controls;

public class CustomHtmlSelectAddParsedSubObject
    extends System.Web.UI.HtmlControls.HtmlSelect
{
    protected void AddParsedSubObject(Object obj) 
        throws System.Web.HttpException
    {
        // If the object is a ListItem, then add the ListItem to 
        //the Items collection.
        if (obj instanceof System.Web.UI.WebControls.ListItem) {
            get_Items().Add((System.Web.UI.WebControls.ListItem)obj);
        }
        else {
            throw new System.Web.
                HttpException("You cannot have a child control of type " 
                + obj.GetType().get_Name().ToString());
        }
    } //AddParsedSubObject
} //CustomHtmlSelectAddParsedSubObject

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

Weitere Ressourcen

HTML-Serversteuerelemente