Я играл с MVC 3 и смотрел на заполнение выпадающих списков.Я видел несколько примеров онлайн, которые рекомендуют использовать модели представлений, так что вот моя первая попытка.Кажется, мой код работает, но кто-нибудь может сказать мне, если это правильный способ сделать это?
Моя модель:
public class ContactGP
{
public int TeamID { get; set; }
[Required(ErrorMessage = "Please select a Team Name")]
[DataType(DataType.Text)]
[DisplayName("Team Name")]
public string TeamName { get; set; }
}
Моя модель просмотра:
public class ContactGPViewModel
{
public string SelectedTeamID { get; set; }
public IEnumerable<Team> Teams { get; set; }
}
Мой контроллер:
public IEnumerable<Team> PopulateTeamsDropDownList()
{
IEnumerable<Team> lstTeams = _Base.DataRepository.GetTeams();
return lstTeams;
}
public ActionResult ContactGP()
{
var model = new ContactGPViewModel
{
Teams = PopulateTeamsDropDownList()
};
return View(model);
}
И мой взгляд:
<p>
@Html.DropDownListFor(
x => x.SelectedTeamID,
new SelectList(Model.Teams, "TeamID", "TeamName")
)
</p>