Reputation: 9298
I have a problem with a generated droplist, it shows up like this:
<select id="selIntervalStartTime" name="selIntervalStartTime"><option>System.Web.Mvc.SelectListItem</option><option>System.Web.Mvc.SelectListItem</option><option>System.Web.Mvc.SelectListItem</option><option>System.Web.Mvc.SelectListItem</option></select>
In my code I have:
List<SelectListItem> si = new List<SelectListItem>();
for (int i = 0; i < 23; i++)
{
si.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}
return View("ScheduleEdit",
new ScheduleEditViewModel
{
selIntervalStartTime = new SelectList(si)
});
How do I fix this so i.ToString() shows up as value and text?
/M
Upvotes: 2
Views: 3962
Reputation: 4624
All is good just need 2 more parameters:
selIntervalStartTime = new SelectList(si,"Text", "Value");
Upvotes: 3
Reputation: 24832
List<int> si = new List<int>();
for (int i = 0; i < 23; i++)
{
si.Add(i);
}
return View("ScheduleEdit",
new ScheduleEditViewModel
{
selIntervalStartTime = new SelectList(si)
});
or
List<SelectListItem> si = new List<SelectListItem>();
for (int i = 0; i < 23; i++)
{
si.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}
return View("ScheduleEdit",
new ScheduleEditViewModel
{
selIntervalStartTime = new SelectList(si,"Text","Value")
});
Upvotes: 5