Если ваше действие принимает модель:
[HttpPost]
public ActionResult About(SomeViewModel model)
{
return Json(model);
}
вы можете напрямую указать значение этого параметра, потому что JsonValueProviderFactory уже проанализировал бы его:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
SomeViewModel model = filterContext.ActionParameters["model"] as SomeViewModel;
}
Если модели нет (почему ее нет?), Вы можете прочитать JSON из потока запросов:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
filterContext.HttpContext.Request.InputStream.Position = 0;
using (var reader = new StreamReader(filterContext.HttpContext.Request.InputStream))
{
string json = reader.ReadToEnd();
}
}