dropdownlist的Datavaluefield不起作用

时间:2011-01-08 16:43:02

标签: vb.net drop-down-menu

我从数据库获取数据并存储在集合对象中。 collectionobj包含Datas'Name'和'ID'。

我的代码:

<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中绑定的姓氏ID。它没有取下我选择下拉列表的ID ..

任何建议..........

1 个答案:

答案 0 :(得分:0)

您应该使用SelectedValue属性而不是DataValueField属性来获取当前选择的值。

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