![](/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.