【原创】Asp.Net MVC学习笔记之-使用AcceptVerbs标签来制定Action的响应行为
2011-01-12 11:32 刺客之家 阅读(737) 评论(0) 编辑 收藏 举报2011年1月11日20:24:24
现象:Controler的Action方法前面,可以增加标签来指定方法支持的Get.Post类型,代码如下:
代码
public ActionResult Edit(int id)
{
Dinners dinner = dinnerRepository.GetDinner(id);
return View(dinner);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection formValues)
{
Dinners dinner = dinnerRepository.GetDinner(id);
try
{
UpdateModel(dinner);//使用Controler内置的方法,通过反射来给Dinner对象赋值
dinnerRepository.Save();
return RedirectToAction("Details", new { id = dinner.DinnerID });
}
catch (Exception)
{
foreach (var issue in dinner.GetRuleViolations())
{
ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
return View(dinner);
}
}
总结:不加任何标签的方法,表示2种方式都可以响应,但是优先响应指定了类型的方法。