My Model Gender.cs and my Controller use an uppercase property name. When the JsonResult data is sent back to the Angular 2 RC4 view it is converted into lowercase:
GenderName and GenderId change to genderName and genderId. Even Intellisense in my TypeScript file uses GenderName but I have to modify my HTML to genderName to accommodate this change that exists nowhere in my code or the results don't get displayed.
Model:
public class Gender
{
[Key]
public short GenderId { get; set; }
public string GenderName { get; set; }
}
Controller:
[HttpGet]
public JsonResult Get()
{
var genders = _context.Genders;
var query = from g in genders
select new { g.GenderId, g.GenderName };
List<Gender> GenderList = new List<Gender>();
foreach (var item in query)
{
Gender gender = new Gender();
gender.GenderId = item.GenderId;
gender.GenderName = item.GenderName;
GenderList.Add(gender);
}
return Json(GenderList);
}
Indeed, this was a deliberate change in behavior. See the linked announcement for how to customize the casing behavior.
Most helpful comment
Indeed, this was a deliberate change in behavior. See the linked announcement for how to customize the casing behavior.