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

标签 asp.net-core visual-studio-2015 asp.net-core-mvc

我正在尝试在 Visual Studio 2015 预览版中将 json 对象发布到 MVC。但是,数据似乎没有绑定(bind)到操作方法参数。在以前版本的 MVC 中曾经注册过一个 JsonValueProviderFactory 来处理这个问题,但我似乎在 MVC6 中找不到它?设置是否发生了变化,这在以前的版本中是开箱即用的吗?

基本上我有一个 Controller 方法

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)
{
    ...
}

关于asp.net-core - 如何在 MVC Visual Studio 2015 中发布 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151486/

相关文章:

c# - 使用 serilog 从 ASP.Net 核心身份记录事件

visual-studio - Visual Studio 2013/2015 包管理器控制台未初始化

visual-studio-2015 - 使用 xUnit 适配器在 TFS/VSO Build vNext 中运行单元测试

c# - 如何使用 Ms 单元项目 C# 代码为逻辑应用步骤编写单元测试?

HTML CSS : Hover Property not Working on Google Icon

c# - 使用 JwtBearerAuthentication 签名 key

azure - 另一个 ASP.Net MVC 项目下的子域 ASP.Net API 项目

asp.net-core - 在cloudformation模板中定义lambda函数

javascript - 在 wwwroot 中引用静态 JavaScript 文件时出现问题 - .Net Core 2.2 Signalr

javascript - 使用 Datatables.net 数据表时,如何判断在分页控件中单击了哪个页码