【发布时间】:2011-09-27 17:17:43
【问题描述】:
在 MVC3 中,如果模型具有嵌套对象,是否可以自动将 javascript 对象绑定到模型?我的模型如下所示:
public class Tweet
{
public Tweet()
{
Coordinates = new Geo();
}
public string Id { get; set; }
public string User { get; set; }
public DateTime Created { get; set; }
public string Text { get; set; }
public Geo Coordinates { get; set; }
}
public class Geo {
public Geo(){}
public Geo(double? lat, double? lng)
{
this.Latitude = lat;
this.Longitude = lng;
}
public double? Latitude { get; set; }
public double? Longitude { get; set; }
public bool HasValue
{
get
{
return (Latitude != null || Longitude != null);
}
}
}
当我将以下 JSON 发布到我的控制器时,除“坐标”之外的所有内容均成功绑定:
{"Text":"test","Id":"testid","User":"testuser","Created":"","Coordinates":{"Latitude":57.69679752892457,"Longitude":11.982091465576104}}
这是我的控制器动作的样子:
[HttpPost]
public JsonResult ReTweet(Tweet tweet)
{
//do some stuff
}
我在这里遗漏了什么还是新的自动绑定功能只支持原始对象?
【问题讨论】:
标签: asp.net json asp.net-mvc-3 model-binding