Freigeben über


ListControl.SelectedIndexChanged-Ereignis

Tritt ein, wenn die Auswahl im Listensteuerelement zwischen Übertragungen zum Server geändert wird.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Event SelectedIndexChanged As EventHandler
'Usage
Dim instance As ListControl
Dim handler As EventHandler

AddHandler instance.SelectedIndexChanged, handler
public event EventHandler SelectedIndexChanged
public:
event EventHandler^ SelectedIndexChanged {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
/** @event */
public void add_SelectedIndexChanged (EventHandler value)

/** @event */
public void remove_SelectedIndexChanged (EventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

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.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln von Ereignissen.

Thema Position
Gewusst wie: Reagieren auf Änderungen in List-Webserversteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Reagieren auf Änderungen in List-Webserversteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Reagieren auf Änderungen in List-Webserversteuerelementen Erstellen von ASP.NET-Webanwendungen

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
OnSelectedIndexChanged