2013-04-22 67 views
0

所以我有一个手动下拉列表,我添加了3项(无数据连接,没有绑定)。检索手动下拉列表的数据库值

**Text**     **Value** 
blank space   blank space 
Dog     6 
Cat     7 

我存储在下拉列表中值这么

mycommand.Parameters.AddWithValue("@ANIMAL", SqlDbType.Char).Value = ddlAnimals.SelectedItem.Text; 

我找回下拉列表中的值,从而

ddlAnimals.SelectedItem.Value = mySqlDataReader[1].ToString(); 

我遇到的问题是,虽然我的下拉列表填充正确的文本(在我检索它之后),它复制列表中的文本,并且数据库中的文本没有与其关联的值。如果我回到狗,不存在6珍惜我这样的下拉列表中,当点击长相:

Dog (Currently Selected upon Click) 
    Dog 
    Cat 

如果我选择其他的狗或猫的价值,我保留我的6和7。但原来的“狗”没有与文字相关的价值。我在做什么错了?

+0

你可以更新你的问题更新下拉列表的完整代码块?从你的小片段看来,你好像为* SelectedItem分配一个值,而不是检索它。 – Jesse 2013-04-22 23:06:14

+0

当我从数据库中检索它时,我只是将数据库中的值显示在ddl中。从输入那个,我可以告诉我做了一件非常错误的事情。 – javasocute 2013-04-22 23:11:10

+0

您是否可以编辑问题以包含处理下拉列表选择更改的代码? – Jesse 2013-04-22 23:14:07

回答

0

之前您加载您的下拉列表中清除的项目,然后重新加载it.Like这样的:

ddlAnimals.Items.Clear(); 

使用ddlAnimals.SelectedValue通过这样的参数:

mycommand.Parameters.AddWithValue("@ANIMAL", SqlDbType.Char).Value = ddlAnimals.SelectedValue;