![](/img/trans.png)
[英]Object Reference Not set to an instance of an object- Am getting this error
[英]Trying to call json ID in MVC controller but I am getting this error “Object reference not set to an instance of an object”
I am trying to get ID from a json file in an ASP.NET MVC controller but for some reason it gives me "Object reference not set to an instance of an object." 错误。 json文件:
"Id": "1",
"FirstName": "FirstName",
"LastName": "LastName",
"Age": "21",
C# class:
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
ASP.NET MVC controller:
model = UserRepository.GetUserById(User.Id); // error line
首先,您应该将Id
和Age
更改为数字,否则 model binder 会给您一个例外。 像这样的东西:
JSON 值无法转换为 System.Int32。 路径:$.Id | 行号:0 | 字节位置行:11`
您的 JSON 现在应该如下所示:
{
"Id": 1,
"FirstName": "FirstName",
"LastName": "LastName",
"Age": 21
}
然后,您应该将参数User user
添加到您的操作中,而不是像您在其中一条评论中所说的那样将user
变量声明为 controller 的属性。
您最终应该得到以下结果:
[HttpPost]
public string MyAction(User user)
{
if (user is null)
return "Bad request :(";
// Do things with user.
return $"Id: {user.Id}, First Name: {user.FirstName}, Last Name: {user.LastName}, Age: {user.Age}";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.