[英]Overloading Controller methods with custom JSON(POST) binding in MVC3
在尝试使用MVC 3的一些很酷的新功能时,我遇到了麻烦。
是否可以通过MVC3使用自定义JSON绑定来重载控制器?
到目前为止,它似乎还没有自动工作。...最干净的方法是什么? 例如,如果我要实现以下端点
[HttpPost]
public ActionResult GetPet(Cat catObject)
{
return Json(catObject.purr());
}
此端点过载
[HttpPost]
public ActionResult GetPet(Dog dogObject)
{
return Json(dog.bark());
}
没有使用第三方库或System.Web.Script.Serialization.JavaScriptSerializer的方法,我有什么办法
另外,是否有任何特定原因尚未在mvc3中实现?
现在,在控制器上重载Json对象似乎是遥不可及的可能性,而不是当前的现实。 这是我最可能超负荷执行的操作
[HttpPost]
public ActionResult GetPet()
{
Cat catObj;
Dog dogObg;
if (TryUpdateModel(catObj))
return Json(catObj.purr());
else
{
ModelState.Clear();
if (TryUpdateModel(dogObg))
return Json(dogObj.bark());
else
{
ModelState.Clear();
ModelState.AddModelError("InvalidInput", "The given input does not match with any of the accepted JSON types");
return new HttpBadRequestResult(ModelState);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.