2013-12-10 68 views
0

我是新來的ASP.net編程,我有一個問題,關於如何傳遞從下拉列表中檢索到的數據,然後將其填充到標籤,以便它可以存儲在數據庫。這應該是來自某人的簡單回答,但我卡住了。我現在處於相當深的狀態,這就是完成我的表單所需的一切。這是下面的代碼;ASP VB - Dropdownlist數據標籤

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 
+2

把東西放在標籤中與將其存儲在數據庫中無關。你的問題是否有點亂碼? –

回答

0

我假設你正在試圖做的是獲得的價值用戶鎬和用它做什麼,無論是將其存儲在數據庫或將其放在一個標籤。爲此,您需要等待用戶回覆。 (或者使用Javascript,但是因爲你提到了一個數據庫,我假設你想在服務器端做到這一點。)

有幾種方法來構造東西。最簡單的一種是創建爲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-->") 
+0

我有一系列的下拉菜單,最後一個下拉菜單我需要它從中選擇一個人的名字,然後它會填充該人員的號碼(員工編號)的標籤。這樣做有可能嗎?謝謝 –

+0

這是非常可能的。您需要決定在從最終下拉列表中選擇值時是否發生必要的回傳(在這種情況下,您需要將該下拉列表的AutoPostBack屬性設置爲True)或用戶是否必須執行此操作一些其他行動,使其回發。 –