在asp.net Web表单中将文本从文本框添加到列表框

时间:2014-10-16 13:48:18

标签: asp.net vb.net listbox

好的,所以我知道这适用于基于Windows的表单,因为我已经多次使用它.......

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

但这对我猜测的基础表格不起作用?任何人都可以告诉我为什么以及在按钮点击时从文本框添加文本到列表框的正确方法是什么?

错误

String的值类型无法转换为System.Web.UI.WebControls.Listitem的<1>数组

1 个答案:

答案 0 :(得分:0)

ASP.NET ListBox网络控件的AddRange()方法需要一个ListItem数组,这就是为什么它无法从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

在将字符串数组绑定到DropDownList / ListBox控件时,请参阅此相关答案:Binding array of string to DropDownList?