My ViewModel выглядит следующим образом:DropDownListFor всегда возвращают нуль на контроллер
public class ProjectViewModel
{
public ICollection<Project> Projects { get; set; }
}
Мой контроллер:
[HttpPost]
[Route("ChooseProject")]
public ActionResult ChooseProject(Project projects)
{
return RedirectToAction("Index", "Application");
}
И, наконец, на мой взгляд:
@using ServicePortal.Web.Controllers
@model ServicePortal.Web.Models.ProjectViewModel
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Choose project";
}
<div class="pure-form pure-form-aligned">
@using (Html.BeginForm("ChooseProject", "Login", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="innerForm formgroup">
@Html.ValidationSummary(true, "", new { @class = "" })
@Html.DropDownListFor((model => model.Projects), new SelectList(Model.Projects,"ProjectKey", "ProjectName"))
<div class="row">
<button type="submit" class="button pull-right">Go on</button>,
</div>
</div>
}
</div>
DropDownList заполняется правильные значения, но я хотел бы вернуть либо проект, либо строку с ProjectKey на контроллер. Однако, когда я отправляю форму и проверяю значение в параметре в контроллере, она всегда равна нулю, как при попытке вернуть проект, так и при попытке с помощью строки. У меня нет ошибок. Что я делаю не так?