【问题标题】:How to use a button to move only the first item in a listbox如何使用按钮仅移动列表框中的第一项
【发布时间】:2014-03-07 14:30:17
【问题描述】:

我有两个列表框和一个 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]);
        }  
    }

【问题讨论】:

  • 您想将第一项移动到哪里?您想移动哪个位置?

标签: c# asp.net ajax listbox


【解决方案1】:

用此代码替换您的代码

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]);
        }

这就是为什么它会多次添加您的项目

【讨论】:

  • 谢谢。我觉得很傻,因为我做的太复杂了。
  • @KelliDavis 没关系,它有时会发生.. :)
猜你喜欢
  • 1970-01-01
  • 2021-10-20
  • 2014-04-09
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
  • 2018-03-20
  • 2018-11-16
  • 2021-10-08
相关资源
最近更新 更多