У меня есть следующий код, но он возвращает пустой объект FormationDTO
, я что-то не так сделал?
Я не понимаю, почему он не может правильно связать FormationFormViewModel
FormationDTO
с параметр действия FormationDTO
, он работал в других контроллерах.
FormationsController
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Save(FormationDTO formation)
{
if (!ModelState.IsValid){
return View("FormationForm", new FormationFormViewModel { FormationDTO = formation, Categories = GetCategories() });
}
else{
// DO THE STUFF
}
}
FormationForm.cs html
@model BSS_IT_Education.Models.FormationFormViewModel
@{
ViewBag.Title = "Formation";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("Save", "Formations"))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.FormationDTO.Id)
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.FormationDTO.Name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-4">
@Html.EditorFor(model => model.FormationDTO.Name, new { htmlAttributes = new { @class = "form-control", @placeholder = "Entrez le nom de la formation..." } })
@Html.ValidationMessageFor(model => model.FormationDTO.Name, "", new { @class = "text-danger" })
</div>
</div>
// BUNCH OF OTHERS FORM-GROUPS
<div class="form-group">
<div class="col-md-offset-2 col-md-8">
<button type="submit" class="btn btn-success">@((Model.FormationDTO.Id == 0) ? "Sauvegarder " : "Modifier")</button>
</div>
</div>
</div>
}