Добрый день,
У меня есть эта проблема с Html.DropDownList, для которой я не могу сработать .. Это дает мне правильное количество опций, если я делаю точку останова в коде, гдедолжен отображать список, объект «SelectItemList» содержит элементы с правильными значениями, но фактический HTML, который он выдает, выглядит следующим образом:
<select id="Reason_ReasonId" name="Reason.ReasonId"><option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<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>
Модуль содержит это:
public SelectList ReasonList
{
get
{
SelectList selectList;
List<SelectListItem> selectItems;
using (var db = new EscalationDataContext())
{
var reasons =
db.Reasons
.OrderBy(r => r.Reason1)
.Select(r => new SelectListItem
{
Value = r.ReasonId.ToString(),
Text = r.Reason1
});
selectItems = reasons.ToList();
selectList = new SelectList(selectItems);
}
return selectList;
}
}
Контроллер просто создает экземпляр по умолчанию и устанавливает значение по умолчанию:
public ActionResult Create()
{
EscalationModel model = new EscalationModel
{
Reason = new Reason { ReasonId = new Guid("598c28c2-877a-44fa-9834-3241c5ee9355"), Reason1 = "Taken too long" },
ActionedDate = DateTime.Now
};
return View(model);
}
Последнее, но не менее важное, представление:
<%: Html.DropDownListFor(m => m.Reason.ReasonId, Model.ReasonList) %>
Есть идеи, почему он ведет себя так?Как я уже сказал, в реальном коде (в представлении) у меня есть правильные значения, но ... я не нравлюсь ... Любая помощь будет принята с благодарностью, заранее спасибо!