1

考虑这段代码:

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

我正在尝试遍历ListItem. lstViolations但是,只添加了第一个选定的值messageBody,我不知道为什么会这样。

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

4

2 回答 2

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!

于 2012-08-13T19:11:11.070 回答
0

甚至更清洁,更容易。

messageBody = string.Join(Environment.NewLine, lstViolations.SelectedItems);
于 2012-08-13T19:18:19.910 回答