2016-04-14 82 views
0

我試圖存儲項目的列表,即從下拉列表中選擇的值和臨時文本框中的文本,然後使用列表框上的foreach循環將它們逐個添加到數據庫。後面的按鈕如何臨時存儲物品清單?

代碼添加事件:

ListBox ListBoxFeatures = new ListBox(); 
ListBoxFeatures.Items.Add(new ListItem(txtBoxDescription.Text, ddlFeatures.SelectedValue)); 

,然後我使用了一個foreach循環在它搶在數據庫中的所有存儲的值和存儲,但它總是挑1列,意味着我只能存儲1行。

foreach(ListItem li in ListBoxFeatures.Items) 
{ 
     String txt= li.Text; 
     Int Value= li.SelectedValue.ToInt32(); 

     //database logic i.e. InsertMethod 
} 
+1

請張貼您的foreach以及。而且你只插入一行,爲什麼它會選擇更多? – Andrei

+0

它只挑選最後插入的記錄 – Cuckoo

+0

我的目標是在列表中存儲多行,然後一次提交到另一個按鈕點擊數據庫點擊 – Cuckoo

回答

1

你的問題是你在每個點擊事件中創建一個新的列表框。您需要將按鈕點擊之外的初始化移動。假設在按鈕點擊之前ListBoxFeatures已經存在,您可以從點擊方法中刪除整行ListBox ListBoxFeatures = new ListBox();

+0

同一問題先生, – Cuckoo

+1

掛上。 'ListItem'沒有'SelectedValue'。你可以仔細檢查你發佈的代碼嗎?另外,當您點擊時,您是否看到這些項目正確顯示在列表框中?暫時忘記數據庫,並確認項目已正確添加到列表中。如果他們沒有出現,我懷疑你在某處出現了同樣的初始問題:檢查你創建列表框的位置,並確保它在某個地方只能被調用一次。 – DrewJordan

0

它不應該是:

foreach(ListItem li in ListBoxFeatures.Items) 
{ ... } 

UPDATE

另外,按鈕事件總是會創建一個新的列表框,然後插入值1到它...爲什麼你會有多個價值?

+1

是的,這是一個錯字,檢查更新的問題。但仍然相同的問題 – Cuckoo

+0

是的,但我不知道任何方式來存儲多個項目 – Cuckoo

+0

只需按照您在aspx部分中給出的名稱引用列表框 – shlatchz