6
在Scott Hanselman的书(第1章)中,他为我们提供了两个选项来实现[HttpPost]创建操作方法。[HttpPost] public ActionResult创建(FormCollection集合)VERSUS [HttpPost] public ActionResult创建(晚餐晚餐)
第一个依靠TryUpdateModel根据传入表单字段更新模型对象。当传入表单域包含无效输入时,ModelState.IsValid将被设置为false。
[HttpPost]
public ActionResult Create(FormCollection collection)
{
Dinner dinner = new Dinner();
if (TryUpdateModel(dinner))
{
dinnerRepository.Add(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id = dinner.DinnerId });
}
else
return View(dinner);
}
第二种方法是利用作为创建操作方法ARG如下传递模型:建议
[HttpPost]
public ActionResult Create(Dinner dinner)
{
if (ModelState.IsValid)
{
dinnerRepository.Add(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id = dinner.DinnerId });
}
else
return View(dinner);
}
哪一个更在生产中使用?
感谢您回答并告知链接。 – xport 2010-12-21 07:56:07