.NET 6 MVC 操作参数未绑定

问题描述 投票:0回答:1

我有一个 .NET 6 MVC 应用程序,我正在尝试使用 FromBody 属性在 HTTP-POST 请求上绑定操作参数。

但是,它不绑定它的值并且始终为空。 这是我的代码。

控制器:

[HttpPost]
[Consumes("application/json")]
public string RegisterUser([FromBody] string FirstName, [FromBody] string LastName)
{
    return($"{FirstName} {LastName}")
}

Ajax 请求:

var data = {
              FirstName: "Krunal",
              LastName: "Zala"
           }
$.ajax({
   type: "POST",
   url: "Login/RegisterUser",
   contentType: "application/json",
   data: JSON.stringify(data),
   dataType: "JSON",
   success: function (result) {
       console.log(result.d);
   },
   error: function (result) {
       console.log(result);
   }
});
json ajax model-view-controller .net-6.0
1个回答
0
投票

Action 只能有一个 [FromBody] 属性。所以你必须创建一个模型来获取数据

public class Person
{
  public string FirstName {get; set;}
  public string LastName {get; set;}
}

在此之后你的行动应该是

public string RegisterUser([FromBody] Person person)
{
 return ($"{person.FirstName} {person.LastName}");
}

ajax

.....
 success: function (result) {
       console.log(result);
   },
....
© www.soinside.com 2019 - 2024. All rights reserved.