방법: List 웹 서버 컨트롤의 선택 확인

업데이트: 2007년 11월

이 항목의 정보는 ListBox, DropDownList, CheckBoxListRadioButtonList 웹 서버 컨트롤에 적용됩니다.

list 웹 서버 컨트롤을 사용하여 수행하는 작업 중 가장 일반적인 작업 중의 하나는 사용자가 선택한 항목(들)을 확인하는 작업입니다. list 컨트롤이 단일 선택과 다중 선택 중 어느 것을 허용하는지에 따라 프로시저가 달라집니다.

DropDownList 컨트롤, RadioButtonList 컨트롤 및 단일 선택 ListBox 컨트롤을 사용할 경우 다음 프로시저를 사용합니다.

단일 선택 list 컨트롤에서 선택을 확인하려면

  • 다음 방법 중 하나를 사용합니다.

    • 선택한 항목의 인덱스 값을 가져오려면 SelectedIndex 속성 값을 읽습니다. 인덱스는 0부터 시작합니다. 선택된 값이 없는 경우 속성 값은 -1입니다.

    • 선택한 항목의 내용을 가져오려면 컨트롤의 SelectedItem 속성을 가져옵니다. 이 속성은 ListItem 형식의 개체를 반환합니다. 개체의 Text 또는 Value 속성을 가져오면 선택한 항목의 내용을 가져올 수 있습니다.

      보안 정보:

      Web Forms 페이지의 컨트롤에는 잠재적으로 악의성이 있는 클라이언트 스크립트가 포함될 수 있습니다. 기본적으로 Web Forms 페이지에서는 사용자 입력 내용에 스크립트나 HTML 요소가 포함되지 않도록 유효성을 검사합니다. 자세한 내용은 방법: 문자열에 HTML 인코딩을 적용하여 스크립트를 이용한 공격으로부터 웹 응용 프로그램 보호를 참조하십시오.

    다음 예제 코드는 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;
       }
    }
    

list 컨트롤이 다중 선택을 지원할 경우 컨트롤을 순환 검색하여 선택한 항목을 하나씩 확인해야 합니다.

다중 선택 list 컨트롤에서 선택을 확인하려면

  • 컨트롤의 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 및 CheckBoxList 웹 서버 컨트롤 개요

DropDownList 웹 서버 컨트롤 개요

ListBox 웹 서버 컨트롤 개요

RadioButton 및 RadioButtonList 웹 서버 컨트롤 개요