HttpPost in asp.net MVC 4
本文关键字:MVC net asp in HttpPost | 更新日期: 2023-09-27 18:01:53
我正在测试一个日历应用程序的推送通知。当我在日历应用程序上创建一个事件时,我的网站获得一个带有JSON字符串的HttpPost请求。我写了这样的代码,但是我无法在我的action方法中接收JSON字符串。
[HttpPost]
public ActionResult Push(String jsonReq)
{
Console.write(jsonReq);
return View();
}
当我以与JSON相同的结构创建模型时,我可以接收请求。它似乎与JSON结构紧密耦合?我在使用ASP。Net MVC 4。
[HttpPost]
public ActionResult Push(JSONModel jsonModel)
{
return View();
}
. NET MVC模型绑定的工作方式如下——它解析请求,试图找到它的参数和Action参数之间的名称对名称的对应,如果找到,则实例化后者。您没有发送名称为jsonReq
的参数,因此您无法在操作方法中接收某些内容。
如果你真的想使用计划json字符串而不让ASP。. NET MVC为您解析,您有两个选项:
- 通过动作 中的
- 写入将请求体映射到
jsonReq
参数的自定义模型绑定器
HttpContext.Request
访问它请求没有名为jsonReq的值,因此不知道将json映射到该操作参数。
当你的JSONModel的属性名与传入请求的JSON命名值相匹配时,这个对象就会被填充。