ASP VB - 要标记的下拉列表数据

时间:2013-12-10 15:55:39

标签: asp.net vb.net

我是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

1 个答案:

答案 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-->")