SelectionList.SelectedIndexChanged イベント
アセンブリ: System.Web.Mobile (system.web.mobile.dll 内)

Public Event SelectedIndexChanged As EventHandler
Dim instance As SelectionList 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)

クライアント上で選択されている項目を変更しても、ポストバック イベントは発生しません。その他のコントロールでポストバック イベントが発生し、選択項目が変更されると、サーバー上でこのイベントが呼び出されます。

SelectedIndexChanged イベントを使用する方法を次のコード例に示します。ポストバック時に Rows プロパティを使用してリストを拡張する方法も示しています。
![]() |
---|
次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。詳細については、「ASP.NET Web ページのコード モデル」を参照してください。 |
<%@ Page Language="VB" Inherits="System.Web.UI.MobileControls.MobilePage" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <script runat="server"> Public Sub Page_Load(ByVal sender As Object, _ ByVal e As EventArgs) If Not IsPostBack Then ' Create data for the list Dim arr As New ArrayList() arr.Add(New _ Task("Verify transactions", "Done")) arr.Add(New _ Task("Check balance sheet", "Scheduled")) arr.Add(New _ Task("Call customer", "Done")) arr.Add(New _ Task("Issue checks", "Pending")) arr.Add(New _ Task("Send report", "Pending")) arr.Add(New _ Task("Attend meeting", "Scheduled")) ' Set properties for the list SelList1.SelectType = _ ListSelectType.ListBox SelList1.Wrapping = Wrapping.NoWrap SelList1.DataValueField = "Status" SelList1.DataTextField = "TaskName" SelList1.Rows = 3 ' Bind the list to the data SelList1.DataSource = arr SelList1.DataBind () Label1.Text = "Select an item and click the button." Label2.Text = "Tasks are arranged by priority" End If End Sub Private Sub ShowStatus(ByVal sender As Object, ByVal e As EventArgs) Const statusSpec As String = "Status: {0} is {1}" Const prioSpec As String = "Priority: {0}" ' Expand the list to show all items SelList1.Rows = SelList1.Items.Count ' Display the status Label1.Text = String.Format(statusSpec, _ SelList1.Selection.Text, _ SelList1.Selection.Value) ' Display the priority Label2.Text = String.Format(prioSpec, _ (SelList1.SelectedIndex + 1)) End Sub ' Custom class for the task data Class Task Private _TaskName As String Private _Status As String Public Sub New(ByVal TaskName As String, _ ByVal Status As String) _TaskName = TaskName _Status = Status End Sub Public ReadOnly Property TaskName() As String Get Return _TaskName End Get End Property Public ReadOnly Property Status() As String Get Return _Status End Get End Property End Class </script> <html xmlns="http:'www.w3.org/1999/xhtml" > <body> <mobile:Form runat="server" id="Form1"> <mobile:Label runat="server" id="Label1" /> <mobile:Label runat="server" id="Label2" /> <mobile:SelectionList runat="server" id="SelList1" OnSelectedIndexChanged="ShowStatus" /> <mobile:Command ID="Command1" runat="server" Text="Show Status" /> </mobile:Form> </body> </html>
<%@ Page Language="C#" Inherits="System.Web.UI.MobileControls.MobilePage" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <script runat="server"> public void Page_Load(Object sender, EventArgs e) { if (!IsPostBack) { // Create data for the list ArrayList arr = new ArrayList(); arr.Add (new Task ("Verify transactions", "Done")); arr.Add (new Task ("Check balance sheet", "Scheduled")); arr.Add (new Task ("Call customer", "Done")); arr.Add (new Task ("Issue checks", "Pending")); arr.Add (new Task ("Send report", "Pending")); arr.Add (new Task ("Attend meeting", "Scheduled")); // Set properties for the list SelList1.SelectType = ListSelectType.ListBox; SelList1.Wrapping = Wrapping.NoWrap; SelList1.DataValueField = "Status"; SelList1.DataTextField = "TaskName"; SelList1.Rows = 3; // Bind the list to the data SelList1.DataSource = arr; SelList1.DataBind (); Label1.Text = "Select an item and click the button."; Label2.Text = "Tasks are arranged by priority"; } } void ShowStatus(Object sender, EventArgs e) { string statusSpec = "Status: {0} is {1}"; string prioSpec = "Priority: {0}"; // Expand the list to show all items SelList1.Rows = SelList1.Items.Count; // Display the status Label1.Text = String.Format(statusSpec, SelList1.Selection.Text, SelList1.Selection.Value); // Display the priority Label2.Text = String.Format(prioSpec, (SelList1.SelectedIndex + 1)); } // Custom class for the task data class Task { private String _TaskName; private String _Status; public Task(String TaskName, String Status) { _TaskName = TaskName; _Status = Status; } public String TaskName { get { return _TaskName; } } public String Status { get { return _Status; } } } </script> <html > <body> <mobile:Form runat="server" id="Form1"> <mobile:Label runat="server" id="Label1" /> <mobile:Label runat="server" id="Label2" /> <mobile:SelectionList runat="server" id="SelList1" OnSelectedIndexChanged="ShowStatus" /> <mobile:Command ID="Command1" runat="server" Text="Show Status" /> </mobile:Form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SelectionList.SelectedIndexChanged イベントのページへのリンク