2015-09-27 70 views
0

我正在使用C#在Web窗體中工作。我設置了一個數組列表。我有一個按鈕,用於將文本框中的用戶輸入添加到數組列表中。我使用+ =將數組列表打印到標籤上。我無法將新條目打印到現有列表中。每次添加時,都會再次打印整個列表。我明白爲什麼它這樣做,但不能包裝我的炸腦如何修復代碼,所以它會添加一個新的條目而不重複整個列表。將C#Arraylist放入標籤中

protected void Button1_Click(object sender, EventArgs e) 
{ 


    ArrayList itemList = new ArrayList(); 
    itemList.Add("red"); 
    itemList.Add("blue"); 
    itemList.Add("green"); 
    itemList.Add(TextBox1.Text); 

    foreach (object item in itemList) 
    { 
     Label1.Text += item + "<br />"; 
    } 



} 

回答

1

只需在for循環前添加Label1.Text =「」即可。

0

開始之前循環做:

Label1.Text = string.Empty; 
2

Don't use the obsolete ArrayList class。使用它的通用版本,List<T>

List<string> itemList = new List<string>(); 
itemList.Add("red"); 
itemList.Add("blue"); 
itemList.Add("green"); 
itemList.Add(textBox1.Text); 

現在你可以用一行更新標籤...

Label1.Text = string.Join("<br />", itemList); 

編輯

不幸的是,在這個例子中我使用ArrayList

你仍然可以用一行

Label1.Text = string.Join("<br />", itemList.Cast<string>()); 
+0

不幸的是,在這個例子中我必須使用一個數組列表。 – Blazto

+0

@Blazto查看我的更新 – Eser

+0

謝謝大家所有的例子工作。我在保持arrayList中的前一個條目時遇到了另一個問題。我想我必須聲明一個字符串數組並將其存儲在那裏,但不確定,此刻正在進行試驗和錯誤的事情。 – Blazto

相關問題