ASP.NET MVC3 및 C#을 사용하고 있습니다. 나는이 수업이 있습니다중첩 된 객체에 JSON을 바인딩하는 방법
public class JobTitle
{
public int ID { get; set; }
public string Title { get; set; }
public MinimumRequirements MinimumRequirements;
public JobTitle(DataRow row)
{
ID = Utilities.SafeInt(row["JobTitle_ID"]);
Title = Utilities.SafeString(row["Job_Title"]);
MinimumRequirements = new MinimumRequirements()
{
Certifications = Utilities.SafeInt(row["....."]),
ID = Utilities.SafeInt(row["....."]),
Languages = Utilities.SafeString(row["....."]),
MinimumEducation = Utilities.SafeString(row["....."]),
MinimumGrade = Utilities.SafeString(row["....."]),
MinimumYOS = Utilities.SafeInt(row["....."])
};
}
}
그리고 전송되는 JSON은 다음과 같습니다 : 여기
{
"ID": 401,
"Title": "MinReq",
"MinimumRequirements": {
"ID": 0,
"MinimumEducation": "Bachelors",
"MinimumGrade": "93",
"MinimumYOS": 10,
"Certifications": 1,
"Languages": "English"
}}
내 C#의 컨트롤러 메소드의 서명입니다 : [HttpPut] 공공 ActionResult JobTitle (JobTitle jobTitle, 부울 doUpdate = true)
ID 및 Title 등록 정보가 입력되어 데이터로 채워집니다. 그러나 MinimumRequirements 중첩 된 객체는 null로 제공됩니다.
나는 또한이 시도 :
[HttpPut] 공공 ActionResult JobTitle ([바인딩 (접두사 = "MinimumRequirements")] JobTitle jobTitle, 부울 doUpdate = TRUE) 중 하나가 작동하지 않았다
(
,536 : 어떻게 바인딩 모습을 알 수 있도록)다음은 VS 디버거에서 스크린 샷입니다
중첩 된 객체가 바인딩되지 않는 이유는 무엇입니까?
오 STUPID me !! 당신 말이 맞아요. 나는 실제로 그 분야를 만들려고하지 않았다. 단지 부주의 한 실수였다. 감사!!! – HerrimanCoder
"당신 JobTitle 모델에는 매개 변수없는 생성자가 없습니다."라는 주석에 대한 메모 만 있습니다. "get; set;"을 추가하는 것 외에 다른 것을 변경할 필요가 없었습니다. 그것을 재산으로 만들기 위해서. 그것은 단지 그것을 한 후에 100 % 일했습니다. – HerrimanCoder
죄송합니다. 사실 매개 변수없는 생성자가 있습니다. 아마도 필요합니다. 나는 단지 그것을 포스트에 포함시키지 않았다. 죄송합니다. 감사. 끝났어. – HerrimanCoder