2011-01-08 81 views
0

我從數據庫中獲取數據並存儲在collection對象中。 collectionobj包含Datas'Name'和'ID'。dropdownlist的Datavaluefield不起作用

我的代碼:

<asp:dropdownlist id="dropdown1" runat="server" DataTextField="Name" DataValueField="ID"/> 


collectionobj=objbs.GetNAmes() 

for intloop as integer in Collectionobj.Count.Rows-1 

dropdown.Items.Add(Collectionobj.Items(intloop).Name) 
dropdown.DataValueField=Collectionobj.Items(intloop).ID 

Next 
dropdown.DataBind() 

即時得到下拉綁定爲 「名」 的值。當我選擇下拉列表時,我需要傳遞該名稱的相應ID。

但是當我分配

Dim strid as String=dropdown1.DataValueField 

dropdown1.DataValueField持有在dropdown.it綁定姓氏的ID不是借id,這將IM選擇n下拉..

任何建議..........

+0

你的代碼是一個爛攤子,並試圖對其進行格式化只是使它所有的東西更明顯。 VB.NET會自動將大部分這些標識符大寫,所以這告訴我你不是從IDE複製粘貼它,這是你的第一個錯誤。 – 2011-01-08 16:51:13

回答

0

您應該使用SelectedValue屬性而不是DataValueField屬性來獲取curent選定值。

Dim strid as String=dropdown1.SelectedValue 

既然你提到getNAmes返回保藏中心,您可以替換代碼與它來填充下拉列表:

collectionobj=objbs.GetNAmes() 
dropdown.DataSource=Collectionobj //The datanamefield and value field are specified in aspx file. 
dropdown.DataBind() 


To get the Selected Text use: dropdown.SelectedItem.Text 
To get the Selected Value use: dropdown.SelectedItem.Value or dropdown.SelectedValue 
+0

但dropdown1.SelectedValue甚至給我oly名稱。而不是ID。例如。它給了我'XXX'而不是'1'ID。 – Innova 2011-01-08 16:50:29

相關問題