2013-04-22 69 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;