我有以下脚本将数据发送到 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 提交的。
我希望能够从动作过滤器访问这个值,这就是我不想修改签名/模型的原因。