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种方式都可以响应,但是优先响应指定了类型的方法。
|
请发表评论