Bjo*_*orn 4 asp.net-core-mvc visual-studio-2015 asp.net-core
我试图在visual studio 2015预览中将json对象发布到MVC.但是,数据似乎没有绑定到action methods参数.以前在MVC的早期版本中注册了一个JsonValueProviderFactory来处理这个,但我似乎无法在MVC6中找到它?设置是否已更改,这在以前的版本中是否已经开箱即用?
基本上我有一个控制器方法
public ActionResult Save(Person person)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我试图从javascript调用:
var personData = { Name : 'John Doe' };
$.ajax({
url: '@Url.Content("~/Person/Save")',
type: "POST",
data: JSON.stringify(personData ),
dataType: "json",
contentType: "application/json; charset=utf-8"
})
Run Code Online (Sandbox Code Playgroud)
在以前版本的MVC中,json对象被映射到c#参数,请参阅此文章,例如http://webcognoscere.com/post/How-to-POST-a-JSON-object-to-a-Controller-Action的.aspx
添加[FromBody]到参数.在MVC 6中,MVC和Web API的逻辑被合并到一个系统中.这意味着需要在帖子正文中反序列化为JSON的内容需要在action方法的参数中明确注明:
public ActionResult Save([FromBody] Person person)
{
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2148 次 |
| 最近记录: |