Мне трудно понять, что происходит, когда ModelState недействителен (EF4.1, сначала база данных).
Следующий код показывает создание задачи для проекта.
Всякий раз, когдамодель действительна, все в порядке, но когда модель недействительна, я получил исключение, что в модель не был передан ни один параметр (однако маршрут правильный и все должно быть в порядке).Что я делаю не так?
//
// POST: /Task/Create
[Authorize()]
[HttpPost]
public ActionResult Create(int projectId, CPIO_Tasks task)
{
ViewBag.projId = projectId;
try
{
task.t_p_id = projectId;
if (ModelState.IsValid)
{
db.CPIO_Tasks.AddObject(task);
db.SaveChanges();
return RedirectToAction("Details", "Projects", new { id = task.t_p_id });
}
}
catch (DataException ex)
{
ModelState.AddModelError("Nieudane dodanie:", ex.ToString());
}
return RedirectToAction("Create", "Task", new {id = projectId});
}
Словарь параметров содержит пустую запись для параметра 'projectId' с ненулевым типом 'System.Int32' для метода 'System.Web.Mvc.ActionResultСоздать (Int32) 'в' CPIO_WebUI.Controllers.TaskController '.Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.Имя параметра: параметры
Путь с идентификатором перенаправления правильный: localhost: 11314 / Task / Create / 2.
Заранее благодарен за любую помощь
Анна