将列表框项目从一个列表框移动到另一个列表框?

时间:2011-09-27 20:18:53

标签: c# asp.net

我正在尝试在两个列表框之间移动列表框项。在我为每个listbox.so创建两个arrraylists之前,我在移动列表框项目之前尝试将项目添加到arraylist。这是代码

 foreach (string st in listbox1.Items)
            {
                arraylist1.Add(st1);
            }

但是我得到一个exeption无法将'System.Web.UI.WebControls.ListItem'类型的对象强制转换为'System.String'。

5 个答案:

答案 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,它应该可以正常工作。