HtmlSelect.AddParsedSubObject メソッド
アセンブリ: System.Web (system.web.dll 内)




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

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- HtmlSelect.AddParsedSubObject メソッドのページへのリンク