ASP.NET 4.0 & SQL 2008
コーディングの助けを求めたいのですが、何が間違っているのか、何が欠けているのかわかりません。私がやりたいことは、で項目を選択するとdropdownlist
、ID(ddlSchool.selectedvalue)
とテキストの値が表示されることです(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
テキストと同じようです。