I am retrieving a string from a MS Sql table, it could be just one name or delimited names: For example Tom or Speaker 1, Speaker 2.
I convert the string to list in the controller using:
Event cevent = db.Events.Find(id);
string speakers = cevent.Speakers;
ViewBag.speakers = "";
if (!String.IsNullOrWhiteSpace(speakers) &&
speakers.Contains(","))
{
ViewBag.speakers = speakers.Split(',').ToList();
}
else
{
ViewBag.speakers = speakers;
}
return View(cevent);
In the view I use the following to display the list:
<ul>
@foreach (var item in ViewBag.speakers)
{
<li> @item </li>
}
</ul>
Works great with the list, I get:
• Speaker 1
• Speaker 2
However, if the ViewBag has just one item, I get:
• T
• o
• m