Lasse Edsvik
Lasse Edsvik

Reputation: 9298

Value + Text for generated SelectList?

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

Answers (2)

JOBG
JOBG

Reputation: 4624

All is good just need 2 more parameters:

   selIntervalStartTime = new SelectList(si,"Text", "Value");

Upvotes: 3

Gregoire
Gregoire

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

Related Questions