2014-10-16 77 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?