По вашему мнению, вы установите свой раскрывающийся список на Id свойства. Это будет текущее значение, выбранное в раскрывающемся списке при отправке в форму. Данные, которые будут использоваться для раскрывающегося списка, представляют собой список выбора, который называется Странами, существующими в вашей модели.
@Html.DropDownListFor(m => m.Id, Model.Countries)
Ваша модель представления будет иметь ваши свойства Id, Name и Country, а также все остальное, что вам нужно.
public class ClientNewViewModel {
public string Id { get; set; }
public string Name { get; set; }
public SelectList Countries { get; set; }
}
В вашем контроллере вам нужно передать модель на просмотр. Вам нужно будет заполнить список стран выбора. Имейте в виду, что вам нужно будет заполнить это значение, когда вы выполняете POST и также не пройдете проверку.
public ActionResult New()
{
var model = new ClientNewViewModel();
model.Countries = new SelectList(service.GetCountries(),
"Id", "Name"); // set up what properties are used for id/name of dropdown
return View(model);
}
[HttpPost]
public ActionResult New(ClientNewViewModel model)
{
if( !ModelState.IsValid )
{
model.Countries = new SelectList(service.GetCountries(),
"Id", "Name");
return View(model);
}
// redirect on success
return RedirectToAction("Index");
}