生成的SelectList的值+文本?

时间:2009-11-30 15:07:59

标签: asp.net-mvc

我对生成的droplist有问题,它显示如下:

<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>

在我的代码中,我有:

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)
           });

如何修复此问题,以便i.ToString()显示为值和文本?

/ M

2 个答案:

答案 0 :(得分:5)

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)
           });

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")
           });

答案 1 :(得分:3)

一切都很好只需要2个参数:

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