方法 : リスト Web サーバー コントロールの選択項目を確認する
更新 : 2007 年 11 月
このトピックの情報は、ListBox、DropDownList、CheckBoxList、および RadioButtonList の各 Web サーバー コントロールに適用されます。
リスト Web サーバー コントロールは、主に、ユーザーが選択した項目を確認するために使用します。確認の手順は、リスト コントロールで単一選択または複数選択のどちらを使用できるかによって異なります。
DropDownList コントロール、RadioButtonList コントロール、および単一選択の ListBox コントロールを使用する手順は、次のとおりです。
単一選択リスト コントロールの選択項目を確認するには
以下のいずれかの方法を使用します。
選択された項目のインデックス値を取得するには、SelectedIndex プロパティの値を取得します。インデックスの値は、0 から始まります。選択された項目がない場合、index プロパティの値は -1 となります。
選択された項目の内容を取得するには、コントロールの SelectedItem プロパティを取得します。このプロパティは、ListItem 型のオブジェクトを返します。このオブジェクトの Text プロパティまたは Value プロパティを取得することによって、選択された項目の内容を取得できます。
セキュリティに関するメモ : Web フォーム ページのコントロールには、悪意のあるクライアント スクリプトが含まれる可能性があります。既定では、Web フォーム ページは、ユーザー入力にスクリプトまたは HTML 要素が含まれていないことを検証します。詳細については、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」を参照してください。
RadioButtonList コントロールでどの項目が選択されているかをテストする方法を次のコード例に示します。このコードでは、まず SelectedIndex プロパティの値を読み込むことによって、選択項目があるかどうかを確認します。ユーザーが項目を選択するまで、このプロパティの値は -1 に設定されます。次に、SelectedItem オブジェクトを取得し、このオブジェクトの Text プロパティを表示します。
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Is anything selected? The index is -1 if nothing is selected. If RadioButtonList1.SelectedIndex > -1 Then Label1.Text="You chose: " & RadioButtonList1.SelectedItem.Text End If End Sub
Protected void Button1_Click (object sender, System.EventArgs e) { // Is anything selected? The index is -1 if nothing is selected. if (RadioButtonList1.SelectedIndex > -1) { Label1.Text="You chose: " + RadioButtonList1.SelectedItem.Text; } }
RadioButtonList コントロールで複数選択がサポートされている場合は、コントロールをループして、選択された項目を 1 つずつ検証する必要があります。
複数選択リスト コントロールの選択項目を確認するには
コントロールの Items コレクションをループし、各項目の Selected プロパティをテストします。
ListBox1 という複数選択の ListBox コントロールで選択された項目をテストする方法を次のコード例に示します。以下のコードでは、ラベルで選択された項目のリストを表示します。
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim msg As String Dim li As ListItem msg = "" For Each li In ListBox1.Items If li.Selected = True Then msg = msg & "<br>" & li.Text & " selected." End If Next Label1.Text = msg End Sub
Protected void Button1_Click(object sender, System.EventArgs e) { string msg = "" ; foreach(ListItem li in ListBox1.Items) { if(li.Selected == true) { msg += "<BR>" + li.Text + " is selected."; } } Label1.Text = msg; }
参照
参照
CheckBox Web サーバー コントロールおよび CheckBoxList Web サーバー コントロールの概要
DropDownList Web サーバー コントロールの概要
RadioButton Web サーバー コントロールおよび RadioButtonList Web サーバー コントロールの概要