Методы перегрузки контроллера с пользовательской привязкой JSON (POST) в MVC3 - PullRequest
0 голосов
/ 24 марта 2011

Я столкнулся с трудностями, пытаясь использовать некоторые интересные нововведения MVC 3.

Возможно ли перегрузить контроллеры с помощью настраиваемой привязки JSON с использованием MVC3?

Это не выглядиткак это работает автоматически на данный момент .... Какой самый лучший способ сделать это?Например, если я хочу реализовать следующую конечную точку

[HttpPost]
public ActionResult GetPet(Cat catObject)
{
return Json(catObject.purr());
}

, перегруженную этой конечной точкой

[HttpPost]
public ActionResult GetPet(Dog dogObject)
{
return Json(dog.bark());
}

Есть ли способ сделать это без использования сторонних библиотек или Система.Web.Script.Serialization.JavaScriptSerializer

Также Есть ли какая-либо конкретная причина, по которой это еще не реализовано в mvc3?

1 Ответ

0 голосов
/ 15 июля 2011

Перегрузка объектов 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);
    }
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...