我正在尝试在两个列表框之间移动列表框项。在我为每个listbox.so创建两个arrraylists之前,我在移动列表框项目之前尝试将项目添加到arraylist。这是代码
foreach (string st in listbox1.Items)
{
arraylist1.Add(st1);
}
但是我得到一个exeption无法将'System.Web.UI.WebControls.ListItem'类型的对象强制转换为'System.String'。
答案 0 :(得分:5)
您收到此错误是因为listbox1.Items
是ListItemCollection。
foreach (ListItem li in listbox1.Items)
{
arraylist1.Add(li.Text);
}
答案 1 :(得分:2)
foreach (string st in listbox1.Items)
应该是
foreach (ListItem st in listbox1.Items)
// your code
答案 2 :(得分:2)
尝试使用
foreach (ListItem li in listbox1.Items)
{
arraylist1.Add(li.Text);
}
答案 3 :(得分:2)
ListBox.Items属于ListItemCollection类型。它由ListItem对象组成,而不是字符串。
您要做的是:
foreach (ListItem lstItem in ListBox1.Items)
{
arraylist1.Add(lstItem);
}
答案 4 :(得分:1)
这是因为列表项本身就是一个对象而不是字符串对象。因此,在上面的代码中将字符串更改为ListItem,它应该可以正常工作。