我是ASP.net编程的新手,我有一个问题是如何传递从下拉列表中检索到的数据,然后将其填充到标签中,以便将其存储在数据库中。这应该是一个简单的答案,但我被卡住了。我现在处于非常深的状态,这就是完成我的表格所剩下的一切。这是下面的代码;
Private Sub FillPersonList()
Dim strConn As String = ConfigurationManager.ConnectionStrings("SQL2K-ConnectionString").ConnectionString
Dim con As New SqlConnection(strConn)
Dim cmd As New SqlCommand()
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT Distinct(LName +', '+ FName) AS 'Name', PNumber FROM [SQL88K].ASD.dbo.Check WHERE insertdatetime BETWEEN getdate() - 7 AND getdate() And Room = @Room"
cmd.Parameters.AddWithValue("@Room", DDRoom.SelectedItem.Value)
Dim objDs As New DataSet()
Dim dAdapter As New SqlDataAdapter()
dAdapter.SelectCommand = cmd
con.Open()
dAdapter.Fill(objDs)
con.Close()
If objDs.Tables(0).Rows.Count > 0 Then
DDPerson.DataSource = objDs.Tables(0)
DDPerson.DataTextField = "PName"
DDPerson.DataValueField = "PName"
lblPNumber.Text = "PNumber" 'This is where i'm trying to populate the label!
DDPerson.DataBind()
DDPerson.Items.Insert(0, "<--Select Person-->")
End If
End Sub
答案 0 :(得分:0)
我认为你要做的就是获取用户选择的值并使用它做一些事情,无论是将其存储在数据库中还是将其放在标签中。为此,您需要等待用户回发。 (或者使用Javascript,但是因为你提到了一个db我假设你想在服务器端这样做。)
有几种方法可以构建东西。最简单的方法之一是为DDPerson
控件的SelectedIndexChanged
事件创建一个事件处理程序,并在那里设置标签的值:
lblPNumber.Text = DDPerson.SelectedValue
' Run code to update your database with the value of DDPerson.SelectedValue.
但是,您没有将PNumber
绑定到下拉列表。因此,您必须将绑定代码更改为:
DDPerson.DataTextField = "PName"
DDPerson.DataValueField = "PNumber"
DDPerson.DataBind()
DDPerson.Items.Insert(0, "<--Select Person-->")