ListControl.OnSelectedIndexChanged Method (EventArgs)
Raises the SelectedIndexChanged event. This allows you to provide a custom handler for the event.
Assembly: System.Web (in System.Web.dll)
Parameters
- e
-
Type:
System.EventArgs
A System.EventArgs that contains the event data.
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. |
Raising an event invokes the event handler through a delegate. For more information, see NIB: Consuming Events.
The OnSelectedIndexChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors:
When overriding OnSelectedIndexChanged in a derived class, be sure to call the base class's OnSelectedIndexChanged method so that registered delegates receive the event.
The following example demonstrates how to specify and code a handler for the SelectedIndexChanged event to display the selection made by the user.
<%@ 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>
Available since 1.1
