次の方法で共有


HtmlSelect.AddParsedSubObject メソッド

解析された子コントロールを HtmlSelect コントロールに追加します。

名前空間: System.Web.UI.HtmlControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Protected Overrides Sub AddParsedSubObject ( _
    obj As Object _
)
'使用
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
)
適用できません。

パラメータ

  • obj
    追加する解析された子コントロール。

例外

例外の種類 条件

HttpException

obj パラメータによって指定された子コントロールの型は ListItem である必要があります。

解説

AddParsedSubObject メソッドは、解析された子コントロールを HtmlSelect コントロールに追加するために、ASP.NET によって使用されます。

使用例

カスタム サーバー コントロールの AddParsedSubObject メソッドをオーバーライドし、ListItem クラスのインスタンスが HtmlSelect の選択された項目のコレクションに追加されるかどうかを常に確認する方法を次のコード例に示します。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!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>
        <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>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </form>
    </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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>
        <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>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </form>
    </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<!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>
        <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>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </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

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

HtmlSelect クラス
HtmlSelect メンバ
System.Web.UI.HtmlControls 名前空間

その他の技術情報

HTML サーバー コントロール