как отобразить текстовое значение (CountryName) из выбранного идентификатора (CountryId) в списке выбора?Список SelectList содержится в модели представления, отправляемой в шаблон представления Details.В данный момент в поле отображается CountryID.Я хочу CountryName.
view
<div class="display-field">@Model.Dinner.CountryID</div>
controller
public ActionResult Details(int id)
{
Dinner dinner = dinnerRepository.GetDinner(id);
DinnerFormViewModel model = new DinnerFormViewModel(dinner);
if (dinner == null)
return View("NotFound");
else
return View("Details", model);
}
viewmodel
public class DinnerFormViewModel
{
public Dinner Dinner { get; private set; }
public SelectList CountriesList { get; private set; }
public DinnerFormViewModel(Dinner dinner)
{
Dinner = dinner;
var items = new List<Country>() {
new Country() {
CountryID = 1,
CountryName = "England"
},
new Country() {
CountryID = 2,
CountryName = "Ireland"
},
new Country() {
CountryID = 3,
CountryName = "Scotland"
},
new Country() {
CountryID = 3,
CountryName = "Wales"
}
};
CountriesList = new SelectList(items, "CountryID", "CountryName", 2);
}
}
Опять же это просто для отображения значения CountryNameэтикетка.Не хочу редактировать это или что-нибудь.LINQ выражение?