c# - 如何在 asp.net 列表框中获取多个选定项并显示在文本框中?

标签 c# asp.net .net ado.net

我正在尝试将列表框中的选定项目添加到文本框中,彼此之间用逗号分隔。但它每次都只读取所选项目的第一个元素。如果我选​​择三个值按住 ctrl,它只会通过所选项目的第一个元素

if (ListBox1.SelectedItem != null)
        {

            //   int count = ListBox1.SelectedItems.Count;
            if (TextBox1.Text == "")
                TextBox1.Text += ListBox1.SelectedItem.ToString();
            else
                TextBox1.Text += "," + ListBox1.SelectedItem.ToString();
        }

如果列表框包含:1,2,3,4 文本框内的示例输出:1,1,1,1 预期输出:1,2,3,4(对于每一次选择,它不应该再次显示已经选择的值)

最佳答案

var selectedItemText =   new List<string>();
    foreach (var li in ListBox1.Items)
    {
       if (li.Selected == true)
        {
         selectedItemText.Add(li.Text);
        }
    }

然后

var result =   string.Join(selectedItemText,",");

关于c# - 如何在 asp.net 列表框中获取多个选定项并显示在文本框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45278117/

相关文章:

c# - 使用 C# 读取 doc 和 docx 文件,而无需在服务器上安装 MS Office

c# - 通过 C# 中的方法强制添加到集合的模式

.net - 如何将一个表达式柯里化(Currying)为另一个表达式?

c# - 如何使用Xamarin iOS/Android播放简单的音频文件

c# - console.write ("\r") 不在服务器上的同一行中显示元素

asp.net - 将服务器中的所有 webapp 置于离线状态

javascript - XMLHttpRequest open() 在 Chrome 中失败

jquery - 正确显示来自 AJAX (ASP.NET MVC) 的数据

c# - TPL 和内存管理

c# - 在 asp.net mvc 的同一 View 中列出和创建