MVC 3 Razor не отображает выбранный элемент из выпадающего списка - PullRequest
1 голос
/ 17 марта 2012

Я создал форму с выпадающим списком для «Регион». После того, как форма была отправлена, я хочу иметь возможность просматривать детали из формы. В частности, я хочу, чтобы отображалось название «Регион», но в настоящее время я получаю имя, идентификатор и метки.

Раскрывающийся список Контроллер:

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 Ответ

0 голосов
/ 17 марта 2012

Просто используйте

@Html.LabelFor(model => model.Region.RegionName)

Или создайте шаблон DisplayTemplate для региона. Проверять, выписываться http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

...