Это зависит, например, если вы храните страны в своей базе данных, вероятно, лучше создать список SelectList в вашем действии контроллера:
public ActionResult Index()
{
var countries = db.Countries.ToList(); // get your countries
var model = new CountryViewModel();
model.Countries = new SelectList(countries,"Id","Name");
return View(model);
}
Я думаю, ваш CountryViewModel
может выглядеть так:
public class CountryViewModel{
public SelectList Countries {get;set;}
public int CountryId {get;set;}
}
Тогда, на ваш взгляд, вы можете отобразить DropDown:
@Html.DropDownListFor(model => model.CountryId, Model.Countries, htmlAttributes: new { @class = "form-control" })
Если это статический список, вы можете заполнить его в самой модели:
public class CountryViewModel{
public SelectList Countries {get;set;}
public int CountryId {get;set;}
public CountryViewModel{
Countries = new SelectList(GetCountriesFormSomeGlobalPlace(),"Id","Name");
}
}
Как правило, не используйте сначала модели кода в своих представлениях (если вы используете код первым, то есть), а используйте ViewModel
POCOs
.