将所选值添加到字符串

时间:2012-08-13 19:08:49

标签: c# asp.net loops foreach

考虑以下代码:

foreach (ListItem item in lstViolations.Items)
{
    if (item.Selected)
    {
        messageBody += item.Value + Environment.NewLine;
    }
}

我正在尝试遍历ListItem中的每个lstViolations。但是,只有第一个选定的值被添加到messageBody,我无法弄清楚为什么会这样。

此外,添加messageBody += "test"仅打印第一个列表项,后跟test

2 个答案:

答案 0 :(得分:2)

试试这个: 如果是ListView,那么:

foreach(ListViewItem Item in lstViolations.SelectedItems)
       messageBody+= Item.Text + Environment.NewLine;

如果是列表框,则:

foreach(string Item in lstViolations.SelectedItems)
       messageBody+= Item + Environment.NewLine;

这将仅迭代选定的项目。

修改:没看过标签。这不适用于ASP.NET!

答案 1 :(得分:0)

甚至更清洁,更轻松。

messageBody = string.Join(Environment.NewLine, lstViolations.SelectedItems);