У меня есть класс под названием
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Country Country { get; set; }
}
public class Country
{
public int Id { get; set; }
public string Type { get; set; }
}
Моя страница просмотра MVC строго напечатана как Персона, и есть раскрывающийся список со списком стран.
In My Controller Index
public ActionResult Index()
{
LoadCountryList();
return View(Person);
}
private void LoadCountryList()
{
IEnumerable<CountryList> countryList = CountryListService.GetCountryList();
ViewData["CountryList"] = new SelectList(country, "Id", "Type", 0);
}
Код в html
<%: Html.DropDownListFor(model => model.Country.Id, (IEnumerable<SelectListItem>)ViewData["CountryList"], "--Select--")%>
Когда страница отправляется, вызывается метод Create в контроллере
public ActionResult Create(Person person)
{
// person.Country.Id has the value
// person.Country.Type is null
}
Я получаю только идентификатор страны от объекта-человека в методе создания. Идентификатор страны загружается внутри объекта Person в разделе Страна.
Можно ли каким-либо образом получить идентификатор и тип страны при передаче со страницы на контроллер?
Я знаю, что передаю Html.DropDownListFor (model => model.Country.Id .... отсюда.
Есть ли какое-нибудь решение, чтобы я получил Id и Type в контроллере.
Спасибо