Я полностью озадачен тем, как эта простая концепция не работает. У меня есть ViewModel, контроллер и вид ...ViewModel properties stay null on HttpPost
Это мой основной ViewModel
public class CreateProfessionalEducationViewModel
{
public Models.ProfessionalEducation ProfessionalEducation;
public int ConsultantId;
public CreateProfessionalEducationViewModel() {} // parameterless constr
}
Это мои 2 метода контроллера
public ActionResult Create(int id)
{
var viewModel = new CreateProfessionalEducationViewModel
{
ConsultantId = id
};
return View(viewModel);
}
//
// POST: /ProfessionalEducation/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(CreateProfessionalEducationViewModel collection)
{
if (ModelState.IsValid)
{
//db.ProfessionalEducations.Add(professionaleducation);
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
и мое мнение ...
По какой-то странной причине мой консультант-консультант 0 и ProfessionalEducation имеет значение null в моей ViewModel, когда отправляется обратно в t он HttpPost Создайте метод в моем контроллере.
Это должно быть настолько простым, что я забываю?
Спасибо заранее!
Вы вызываете свое действие с помощью '.../Create/1' или просто' .../Create/' –
Не должны ли эти поля быть свойствами вместо (get; set;}? Я не думаю, что ModelBinder будет связываться с равными полями, они должны быть свойствами. –
Правильно, это была моя проблема. –