我有两个列表框和一个ASP按钮。我试图使用该按钮只将一个列表框的索引中的第一个项移动到另一个列表框中。不幸的是,无论何时按下按钮,它都会移动列表框中的所有项,或者将索引中的第一个项移动到有项的次数(例如:如果列表框中有五个项,则会将第一个项移动5次。因此,我在第一个列表框中没有项目,在下一个列表框中没有第一个项目中的五个)。此外,列表框位于Ajax更新面板中(我不知道这是否相关)。以下是代码:
protected void btnMoveFirst_Click(object sender, EventArgs e)
{
for (int i = 0; i < ListBox1.Items.Count; i++)
{
ListBox2.Items.Add(ListBox1.Items[0]);
}
for (int i = ListBox1.Items.Count - 1; i >= 0; i--) {
ListBox1.Items.Remove(ListBox1.Items[0]);
}
}
发布于 2014-03-06 22:30:17
用以下代码替换您的代码
protected void btnMoveFirst_Click(object sender, EventArgs e)
{
//Add items only once
ListBox2.Items.Add(ListBox1.Items[0]);
ListBox1.Items.Remove(ListBox1.Items[0]);
}
在您的代码中,您要添加项,直到ListBox1
中的项计数。
for (int i = 0; i < ListBox1.Items.Count; i++)
{
ListBox2.Items.Add(ListBox1.Items[0]);
}
这就是为什么它要添加更多的项目次数
https://stackoverflow.com/questions/22243016
复制相似问题