HtmlSelect.AddParsedSubObject Method (Object)
.NET Framework (current version)
Adds a parsed child control to the HtmlSelect control.
Assembly: System.Web (in System.Web.dll)
Parameters
- obj
-
Type:
System.Object
The parsed child control to add.
| Exception | Condition |
|---|---|
| HttpException | The child control specified by the obj parameter must be of the type ListItem. |
The AddParsedSubObject method is used by ASP.NET to add parsed child controls to the HtmlSelect control.
The following code example demonstrates how to override the AddParsedSubObject method in a custom server control so that it always checks that an instance of the ListItem class is added to the HtmlSelect selected items collection.
<%@ 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 /> " + 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> <br /> <div id="Div1" runat="server" style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" /> </form> </body> </html>
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()); } } } }
.NET Framework
Available since 1.1
Available since 1.1
Show: