方法 : リスト Web サーバー コントロールの選択項目を確認する

更新 : 2007 年 11 月

このトピックの情報は、ListBoxDropDownListCheckBoxList、および RadioButtonList の各 Web サーバー コントロールに適用されます。

リスト Web サーバー コントロールは、主に、ユーザーが選択した項目を確認するために使用します。確認の手順は、リスト コントロールで単一選択または複数選択のどちらを使用できるかによって異なります。

DropDownList コントロール、RadioButtonList コントロール、および単一選択の ListBox コントロールを使用する手順は、次のとおりです。

単一選択リスト コントロールの選択項目を確認するには

  • 以下のいずれかの方法を使用します。

    • 選択された項目のインデックス値を取得するには、SelectedIndex プロパティの値を取得します。インデックスの値は、0 から始まります。選択された項目がない場合、index プロパティの値は -1 となります。

    • 選択された項目の内容を取得するには、コントロールの SelectedItem プロパティを取得します。このプロパティは、ListItem 型のオブジェクトを返します。このオブジェクトの Text プロパティまたは Value プロパティを取得することによって、選択された項目の内容を取得できます。

      a5kfekd2.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

      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 サーバー コントロールの概要

ListBox Web サーバー コントロールの概要

RadioButton Web サーバー コントロールおよび RadioButtonList Web サーバー コントロールの概要