Получить значение из запроса с типом содержимого application/json

У меня есть следующий сценарий, который отправляет данные в контроллер в MVC:

$.ajax({
    url: '/products/create',
    type: 'post',
    contentType: 'application/json; charset=utf-8',
    data: JSON.stringify({
        'name':'widget',
        'foo':'bar'
    })
});

Мой контроллер выглядит так:

[HttpPost]
public ActionResult Create(Product product)
{
    return Json(new {success = true});
}

public class Product 
{ 
    public string name { get; set; }
}

Есть ли способ получить переменную "foo" в моем действии контроллера без

  • изменение модели
  • изменение подписи действия

Если бы это была обычная отправка формы, у меня был бы доступ к Request.Form["foo"], но это значение равно null, поскольку оно было отправлено через application/json .

Я хочу иметь доступ к этому значению из фильтра действий, поэтому я не хочу изменять подпись/модель.

6
задан Dismissile 31 May 2012 в 16:30
поделиться