2

ASP.NET 4.0 & 내 코딩에 도움을 요청하고자 2008ASP.NET DropDownList로는 : ddl.text의 값은

SQL, 내가 무엇을 모르는의 SelectedIndexChanged에 ddl.selectedvalue의 값이된다 잘못되었거나 내가 무엇을 놓치고 있는지. 내가 원하는 것은 dropdownlist의 항목을 선택하면 (ddlSchool.selectedvalue)이라는 ID와 (ddlSchool.text)이라는 값이 부여됩니다.

아래는 드롭 다운 목록을 채우는 코드입니다. 데이터베이스에서 ID와 텍스트의 가치를 얻었으므로 완벽하게 작동합니다. 나는 그것을 디버깅 할 때, ID (newItem.Value = .dr("fnorglevelid"))의 올바른 값 및 텍스트 (newItem.Text = .dr("fcorgcode").ToString()

Protected Sub populateDDLDepartment() 

    If Not IsPostBack Then 
     Dim newItem As New ListItem() 
     newItem.Text = "Select a Department..." 
     newItem.Value = "0" 
     ddlSchool.Items.Add(newItem) 

     Try 
      With connSchool 
       .conn = New SqlConnection(.strCNN_ADMtoGRAD) : .conn.Open() 
       .strSQL = "select fnorglevelid, rtrim(fcorganization) as 'fcorgcode'"& _ 
          "from hris_organization " & _ 
          "where flschool = 1 " & _ 
          "order by fcorgcode asc" 
       .cmd = New SqlCommand(.strSQL, .conn) 
       .dr = .cmd.ExecuteReader() 

       While .dr.Read 
        newItem = New ListItem() 
        newItem.Text = .dr("fcorgcode").ToString() 
        newItem.Value = .dr("fnorglevelid") 
        ddlSchool.Items.Add(newItem) 
       End While 

      End With 
     Finally 
      With connSchool 
       .conn.Close() 
       .conn = Nothing 
       .strSQL = vbNullString 
       .strSQL = Nothing 
       .cmd.Dispose() 
       .cmd = Nothing 
       .dr = Nothing 
      End With 
     End Try 
    End If 
End Sub 

의 정확한 값을 제공하지만이 항목을 선택하면, ddlSchool.text의 값은 ddlSchool의 값과 동일하게된다. selectedValue. 메시지 상자에 먼저 넣습니다 :

Protected Sub ddlSchool_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlSchool.SelectedIndexChanged 
     MsgBox("Text:" & ddlSchool.Text & " ID:" & ddlSchool.SelectedValue) 
    End Sub 

무엇이 누락 되었습니까? 나는 무엇을해야합니까? selectedValue은 텍스트와 같습니다.

+0

당신은 ddlSchool.SelectedItem.Text을 시도 할 수 있습니다 – futile

+0

정말 많이 고마워! 그것은 작동합니다. 내 얼굴이 바보 같았어요 OMG * facepalm * : D – whel

+0

도움을 주셔서 감사합니다. :) 정확한 원인으로 올바른 원인으로 펠릭스의 답변을 표시하십시오. – futile

답변

2

당신은

ddlSchool.SelectedValue 

또는

ddlSchool.Text 

텍스트 사용할 수 있습니다

ddlSchool.SelectedItem.Text for 
,

고마워요