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();

我遇到的问题是,尽管我的下拉列表填充了正确的文本(在我检索到它之后),但它复制了列表中的文本,并且数据库中的文本没有与之关联的值。如果我返回 Dog,则没有值 6。单击后我的下拉列表如下所示:

   Dog (Currently Selected upon Click)
   Dog
   Cat

如果我选择其他 Dog 或 Cat 值,我会保留我的 6 和 7。但原来的“Dog”没有与文本关联的值。我到底做错了什么?

4

1 回答 1

0

在加载下拉列表之前清除项目,然后重新加载它。像这样:

ddlAnimals.Items.Clear();

用于ddlAnimals.SelectedValue传递这样的参数:

mycommand.Parameters.AddWithValue("@ANIMAL", SqlDbType.Char).Value = ddlAnimals.SelectedValue;
于 2013-04-23T07:49:23.370 回答