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

他の犬または猫の値を選択すると、6 と 7 が保持されます。ただし、元の「犬」には、テキストに関連付けられた値がありません。私は一体何を間違っているのでしょうか?

4

1 に答える 1

0

ドロップダウンリストをロードする前に、アイテムをクリアしてから再ロードしてください。このように:

ddlAnimals.Items.Clear();

ddlAnimals.SelectedValue次のようなパラメーターを渡すために使用します。

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