2014-10-16 85 views
1

好了,我知道這工作在基於Windows窗體的,因爲我已經用它無數次.....將文本從文本框列表框在asp.net web表單

 lstBoxExternal.Items.AddRange(txtBoxNameExternal.Text.Split(vbNewLine)) 

但這不起作用對於我們猜測的基礎表單?任何人都可以告訴我爲什麼和從文本框中的按鈕單擊添加文本到列表框的正確方法?

錯誤

字符串的值類型不能被轉換到System.Web.UI.WebControls.Listitem的1維陣列

回答

0

的ASP.NET ListBox幅控制的AddRange()方法需要一個這是爲什麼它不能很容易地從Windows窗體轉換的數組。

如果您正在使用從txtBoxNameExternal數據完全取代任何項目可能已經在ListBox(相對於增加的項目),可以使用DataBind()這可能是最簡單的方法:

lstBoxExternal.DataSource = txtBoxNameExternal.Text.Split(vbNewLine) 
    lstBoxExternal.DataBind() 

如果你需要保持對每個按鈕添加項目點擊有你能做到這幾種方法,但我通常在一個循環中添加項目做到這一點:

Dim items As [String]() = txtBoxNameExternal.Text.Split(vbNewLine) 
For Each item As [String] In items 
    lstBoxExternal.Items.Add(New ListItem(item)) 
Next 

也看到了一些提示,當b這個相關答案將字符串數組引入DropDownList/ListBox控件:Binding array of string to DropDownList?