HtmlSelect.OnPreRender Method
.NET Framework 3.0
Raises the PreRender event for the HtmlSelect control.
Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)
Assembly: System.Web (in system.web.dll)
The following code example demonstrates how to override the OnPreRender method so that it allows multiple selections in a custom HtmlSelect server control.
<%@ 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 - OnPreRender - 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 - OnPreRender - VJ# Example</h3>
<p>
<aspSample:CustomHtmlSelectOnPreRender
id="HtmlSelect1"
name="HtmlSelect1"
runat="server">
<option value="Option1">Option1</option>
<option value="Option2">Option2</option>
<option value="Option3">Option3</option>
</aspSample:CustomHtmlSelectOnPreRender>
</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 CustomHtmlSelectOnPreRender
extends System.Web.UI.HtmlControls.HtmlSelect
{
protected void OnPreRender(System.EventArgs e)
{
// Call the base's OnPreRender method.
super.OnPreRender(e);
// Allow multiple selections.
this.set_Multiple(true);
} //OnPreRender
} //CustomHtmlSelectOnPreRender
Community Additions
ADD
Show: