代码改变世界

【原创】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种方式都可以响应,但是优先响应指定了类型的方法。

本博客文章若非标记转载,均为原创,转载请注明出处~