C# Windows窗体列表框和树状视图asp.net Web窗体中的多选交替

C# Windows窗体列表框和树状视图asp.net Web窗体中的多选交替,c#,webforms,listbox,asp.net-3.5,multipleselection,C#,Webforms,Listbox,Asp.net 3.5,Multipleselection,我正在尝试在asp.net中实现与windows窗体中相同的多重选择功能。需要在界面中提供所有可能的项目都显示在一侧的界面,用户选择一个项目并按下带有>文本的按钮,以在所选项目的面板中移动项目。同样,在按带有>>文本的按钮时,所有项目都应移动到“选定项目”面板,反之,对于按钮单击事件中带有的按钮,您可以执行类似操作: protected void Button1_Click(object sender, EventArgs e) { if (ListBox1.Items.Count &g

我正在尝试在asp.net中实现与windows窗体中相同的多重选择功能。需要在界面中提供所有可能的项目都显示在一侧的界面,用户选择一个项目并按下带有>文本的按钮,以在所选项目的面板中移动项目。同样,在按带有>>文本的按钮时,所有项目都应移动到“选定项目”面板,反之,对于按钮单击事件中带有的按钮,您可以执行类似操作:

protected void Button1_Click(object sender, EventArgs e)
{
    if (ListBox1.Items.Count > 0)
    {
        foreach (ListItem item in ListBox1.Items)
        {
           if (item.Selected == true)
           {
               //insert your code that adds the selected item to the panel you have
           }
        }
    }
}

有几件事你必须先处理。如果没有,请将选择模式更改为“多个”,并处理回发。

如果我正确理解了您的问题,您需要以下内容:

为了实现这一点,首先我在页面上有两个列表框,lstSource和lstDest。 之后,我将ListItem添加到lstSource的Items属性中,然后通过以下方式实现按钮代码behinde:

protected void btnSelectOne_Click(object sender, EventArgs e)
{
  lstDest.Items.Add(lstSource.SelectedItem);
}

protected void btnSelectAll_Click(object sender, EventArgs e)
{
  foreach (ListItem item in lstSource.Items)
  {
    lstDest.Items.Add(item);
  }
}
我希望这有帮助。
但是请记住,这些都是服务器端控件,它们不是实现此目标的好选择,您应该使用javascript或jquery插件。

您的代码在哪里?有没有尝试过?正如我在帖子中提到的,我不知道如何开始,也不知道谷歌应该做什么,我在ASP.NET中使用诸如windows窗体listbox alternate等关键字进行搜索,找到了一些类似的链接,但这些链接与windows窗体相关。我认为代码中使用的事件和控件在webforms中不可用。谢谢Saman,你很好地理解了我的观点。但是如何使用这个列表框方法实现可折叠的功能呢?例如,我将db中的左侧列表框数据绑定为其状态处于折叠状态的国家,即当选择国家时,城市将扩展到国家名称下方。用户选择一个城市并按下>按钮,然后城市名称以及可折叠表单中的控件名称移动到右侧窗格。您应该使用TreeView ASP.NET控件来实现此方法。