MVC 3 Razor не отображает выбранный элемент из выпадающего списка
Я создал форму с выпадающим списком для "Регион". После того, как форма была отправлена, я хочу иметь возможность просматривать детали из формы. В частности, я хочу, чтобы отображалось название "Регион", но в настоящее время я получаю имя, идентификатор и метки.
Выпадающий список Контроллер:
public ActionResult Add()
{
var db = new AssociateDBEntities();
var region = db.Regions.Select(r => new { r.RegionId, r.RegionName });
ViewBag.Regions = new SelectList(region.OrderBy(r => r.RegionName).AsEnumerable(), "RegionId", "RegionName");
return View();
}
Контроллер "Подробности":
public ActionResult Details(int id)
{
using (var db = new AssociateDBEntities())
{
ViewData["Region"] = new SelectList(db.Regions.ToList(),"RegionName");
return View(db.Associates.Find(id));
}
}
"Детали" Просмотр:
<div class="form-grid-1">
<div class="display-label">@Html.LabelFor(model => model.Region)</div>
<div class="display-field">@Html.DisplayFor(model => model.Region)</div>
</div>
Как я могу просто получить имя (RegionName) для отображения?
1 ответ
Решение
Просто используйте
@Html.LabelFor(model => model.Region.RegionName)
Или создайте DisplayTemplate для региона. Проверьте http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx