ActionResult Details необходимо разрешить FK из списка для отображения имени? - PullRequest
0 голосов
/ 15 марта 2011

У меня есть FK в моей ViewModel с деталями, и когда View связывается с ViewModel, я получаю только FK (ожидается).FK - это ссылка на простую таблицу идентификаторов / имен.У меня также есть строго типизированный список в виртуальной машине, представляющий эту таблицу с ссылками на FK.Я хочу сделать что-то вроде

<div class="display-field">@Model.ManufacturersList.Find(x => x.ID == Model.softwaremanufacturerid))</div>

Хотя это вернет нужный мне экземпляр ... Я не могу понять, как получить атрибут «Имя» для отображения.Извините, если это больше вопрос Lamda, но подумал, что я все равно попробую

Спасибо

1 Ответ

0 голосов
/ 15 марта 2011

Если .ManufacturersList.Find(x => x.ID == Model.softwaremanufacturerid) возвращает то, что вы хотите, не делайте этого в представлении.Представление должно отображать только данные, в то время как слой модели действительно должен выполнять поиск (.Find)

. В вашей модели представления добавьте строковое свойство для ManufacturerName

public string ManufacturerName { get; set; }

В вашем контроллере

MyViewModel vm = new MyViewModel()
{
    ManufacturerName = .ManufacturersList
        .Find(x => x.ID == theFKAlreadyInTheViewModel)
};
return View(vm);

Тогда, по вашему мнению,

@Model.ManufacturerName

ИЛИ, проще говоря, вы можете использовать ViewBag

ViewBag.ManufacturerName = YourManufacturersList
    .Find(x => x.ID == theFKAlreadyInTheViewModel);

Тогда в вашем представлении

@ViewBag.ManufacturerName
...