ListControl.SelectedIndexChanged Event
Occurs when the selection from the list control changes between posts to the server.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Assembly: System.Web (in system.web.dll)
Syntax
Visual Basic (Declaration)
Public Event SelectedIndexChanged As EventHandler
Visual Basic (Usage)
Dim instance As ListControl Dim handler As EventHandler AddHandler instance.SelectedIndexChanged, handler
C#
public event EventHandler SelectedIndexChanged
C++
public: event EventHandler^ SelectedIndexChanged { void add (EventHandler^ value); void remove (EventHandler^ value); }
J#
/** @event */ public void add_SelectedIndexChanged (EventHandler value) /** @event */ public void remove_SelectedIndexChanged (EventHandler value)
JScript
In JScript, you can handle the events defined by a class, but you cannot define your own.
XAML
Not applicable.
Remarks
The SelectedIndexChanged event is raised when the selection from the list control changes between posts to the server.
Note: |
|---|
| A list control must persist some values between posts to the server for this event to work correctly. Be sure that view state is enabled for the list control. |
For more information about handling events, see Consuming Events.
Example
The following example demonstrates how to specify and code a handler for the SelectedIndexChanged event to display the selection made by the user.
Visual Basic
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <!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" > <script language="vb" runat="server"> Function CreateDataSource() As ICollection Dim dt As New DataTable() Dim dr As DataRow dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime))) dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean))) dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double))) Dim i As Integer For i = 0 To 8 dr = dt.NewRow() dr(0) = i dr(1) = "Item " + i.ToString() dr(2) = DateTime.Now If (i Mod 2) <> 0 Then dr(3) = True Else dr(3) = False End If dr(4) = 1.23 *(i + 1) dt.Rows.Add(dr) Next i Dim dv As New DataView(dt) Return dv End Function Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then RadioButtonList1.DataSource = CreateDataSource() RadioButtonList1.DataTextField = "StringValue" RadioButtonList1.DataValueField = "CurrencyValue" RadioButtonList1.DataBind() End If End Sub Sub Index_Changed(sender As Object, e As EventArgs) Label1.Text = "You selected " & RadioButtonList1.SelectedItem.Text & _ " with a value of : " & RadioButtonList1.SelectedItem.Value & "." End Sub </script> <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:RadioButtonList id="RadioButtonList1" OnSelectedIndexChanged="Index_Changed" AutoPostBack="true" runat="server"/> <br /> <asp:Label id="Label1" runat="server"/> </form> </body> </html>
C#
<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <!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" > <script language="c#" runat="server"> ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime))); dt.Columns.Add(new DataColumn("BoolValue", typeof(bool))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); for (int i = 0; i < 9; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = DateTime.Now; dr[3] = (i % 2 != 0) ? true : false; dr[4] = 1.23 * (i+1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { if (!IsPostBack) { RadioButtonList1.DataSource = CreateDataSource(); RadioButtonList1.DataTextField="StringValue"; RadioButtonList1.DataValueField="CurrencyValue"; RadioButtonList1.DataBind(); } } void Index_Changed(Object sender, EventArgs e) { Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text + " with a value of $" + RadioButtonList1.SelectedItem.Value + "."; } </script> <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:RadioButtonList id="RadioButtonList1" OnSelectedIndexChanged="Index_Changed" AutoPostBack="true" runat="server"/> <br /> <asp:Label id="Label1" runat="server"/> </form> </body> </html>
JScript
<%@ Page Language="JScript" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <!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" > <script language="jscript" runat="server"> function CreateDataSource() : ICollection{ var dt : DataTable = new DataTable() var dr : DataRow dt.Columns.Add(new DataColumn("IntegerValue", System.Int32)) dt.Columns.Add(new DataColumn("StringValue", System.String)) dt.Columns.Add(new DataColumn("DateTimeValue", System.DateTime)) dt.Columns.Add(new DataColumn("BoolValue", System.Boolean)) dt.Columns.Add(new DataColumn("CurrencyValue", System.Double)) var i : int for( i = 0; i < 9; i++){ dr = dt.NewRow() dr("IntegerValue") = i dr("StringValue") = "Item " + i.ToString() dr("DateTimeValue") = DateTime.Now dr("BoolValue") = ((i % 2) != 0) ? true : false dr("CurrencyValue") = 1.23 *(i + 1) dt.Rows.Add(dr) } var dv : DataView = new DataView(dt) return dv } function Page_Load(sender : Object, e : EventArgs){ if(!IsPostBack){ RadioButtonList1.DataSource = CreateDataSource() RadioButtonList1.DataTextField = "StringValue" RadioButtonList1.DataValueField = "CurrencyValue" RadioButtonList1.DataBind() } } function Index_Changed(sender : Object, e : EventArgs){ Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text + " with a value of : " + RadioButtonList1.SelectedItem.Value + "." } </script> <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:RadioButtonList id="RadioButtonList1" OnSelectedIndexChanged="Index_Changed" AutoPostBack="true" runat="server"/> <br /> <asp:Label id="Label1" runat="server"/> </form> </body> </html>
Platforms
Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.Version Information
.NET Framework
Supported in: 3.0, 2.0, 1.1, 1.0See Also
Note: