ListControl.OnSelectedIndexChanged-Methode
Löst das SelectedIndexChanged-Ereignis aus. Dadurch können Sie einen benutzerdefinierten Handler für das Ereignis bereitstellen.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Protected Overridable Sub OnSelectedIndexChanged ( _
e As EventArgs _
)
'Usage
Dim e As EventArgs
Me.OnSelectedIndexChanged(e)
protected virtual void OnSelectedIndexChanged (
EventArgs e
)
protected:
virtual void OnSelectedIndexChanged (
EventArgs^ e
)
protected void OnSelectedIndexChanged (
EventArgs e
)
protected function OnSelectedIndexChanged (
e : EventArgs
)
Parameter
- e
Eine Instanz von System.EventArgs, die die Ereignisdaten enthält.
Hinweise
Das SelectedIndexChanged-Ereignis wird ausgelöst, wenn die Auswahl im Listensteuerelement zwischen Übertragungen zum Server geändert wird.
Hinweis
Ein Listensteuerelement muss zwischen Übertragungen zum Server einige Werte beibehalten, wenn dieses Ereignis ordnungsgemäß arbeiten soll. Der Ansichtszustand für das Listensteuerelement muss aktiviert sein.
Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Behandeln von Ereignissen.
Die OnSelectedIndexChanged-Methode ermöglicht es abgeleiteten Klassen auch, das Ereignis ohne Anfügen eines Delegaten zu behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.
Hinweise für Erben Beim Überschreiben von OnSelectedIndexChanged in einer abgeleiteten Klasse müssen Sie sicherstellen, dass die OnSelectedIndexChanged-Methode der Basisklasse aufgerufen wird, damit registrierte Delegaten das Ereignis empfangen.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie für das SelectedIndexChanged-Ereignis ein Handler angegeben und codiert wird, der die vom Benutzer getroffene Auswahl anzeigt.
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<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>
<body>
<form runat=server>
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<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>
<body>
<form runat=server>
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<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>
<body>
<form runat=server>
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
ListControl-Klasse
ListControl-Member
System.Web.UI.WebControls-Namespace
SelectedIndexChanged