HtmlSelect.AddParsedSubObject Method
.NET Framework 3.0
Adds a parsed child control to the HtmlSelect control.
Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)
Assembly: System.Web (in system.web.dll)
| Exception type | Condition |
|---|---|
| The child control specified by the obj parameter must be of the type ListItem. |
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.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 /> "
+ 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>
<br />
<div id="Div1" runat="server"
style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
</form>
</body>
</html>
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
Community Additions
ADD
Show: