Я использую ASP.NET MVC 2 (.NET 3.5), и мне нужно вручную определить, что должно быть списком опций.Когда я это делаю, я получаю раскрывающееся меню, где каждая из записей в ручном режиме читается как «System.Web.Mvc.SelectListItem».
Моя модель представления определяет список следующим образом:
public SelectList YesNoList
{
get
{
List<SelectListItem> tmpList = new List<SelectListItem>();
tmpList.Add(new SelectListItem {Text = "", Value = ""});
tmpList.Add(new SelectListItem {Text = "Yes", Value = "1"});
tmpList.Add(new SelectListItem {Text = "No", Value = "0"});
YesNoList = new SelectList(tmpList,"");
}
private set{}
}
В представлении, на которое я ссылаюсь, используя Html.DropDownList:
Html.DropDownList("FieldName", viewmodel.YesNoList);
То, что я ожидаю отрисовать на конечной веб-странице, должно выглядеть следующим образом:
<select id="FieldName" name="FieldName">
<option value=""/>
<option value="1">Yes</option>
<option value="0">No</option>
</select>
ВместоЯ получаю:
<select id="FieldName" name="FieldName">
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
</select>
Я в растерянности, так как не могу понять, почему возвращается тип, поэтому буду признателен, если кто-нибудь укажет мне, что не так с определением модели представления или точкойлучший способ.Я не решался извлекать SelectList из коллекций классов C #, поскольку SelectList обеспечивал бы последовательный способ перебора значений и отображения текста.
Заранее спасибо, надеюсь, кто-нибудь может помочь.
Приветствия,
J