加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 如何在MVC Visual Studio 2015中发布JSON数据

发布时间:2020-12-16 07:25:20 所属栏目:asp.Net 来源:网络整理
导读:我试图在visual studio 2015预览中将json对象发布到MVC.但是,数据似乎没有绑定到action methods参数.以前在MVC的早期版本中注册了一个JsonValueProviderFactory来处理这个,但我似乎无法在MVC6中找到它?设置是否已更改,这在以前的版本中是否已经开箱即用?
我试图在visual studio 2015预览中将json对象发布到MVC.但是,数据似乎没有绑定到action methods参数.以前在MVC的早期版本中注册了一个JsonValueProviderFactory来处理这个,但我似乎无法在MVC6中找到它?设置是否已更改,这在以前的版本中是否已经开箱即用?

基本上我有一个控制器方法

public ActionResult Save(Person person)
{
   ...
}

我试图从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"
    })

在以前的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)
{
    ...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读