如何从mvc3模型的序列化json中获取backbone.js模型?
问题描述:
如果我在我MVC3应用这样的模式:如何从mvc3模型的序列化json中获取backbone.js模型?
public class Person
{
public Guid Id { get; set; }
public Name Name { get; set; }
public Address Address { get; set; }
public PhoneNumber PhoneNumber { get; set; }
}
public class Name
{
public string First { get; set; }
public string Last { get; set; }
}
public class Address
{
public string AddressLine { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
会怎么做我.fetch()
从Backbone.js的填充呢?
这是我的尝试:
class Person extends Backbone.Model
$ ->
person = new Person()
person.fetch()
// person.get for things like Name.First, or Name, or First
// all return undefined
alert person.get(...) // ?
我有适当的JsonResult动作方法和控制,并与小提琴手的fetch()
调用正确返回JSON数据验证。 (我可以明天早上从办公室发布)
我真的是Backbone的新手,我做错了什么?
答
夫妇的事情:1)fetch是异步的。试试这个:
person.fetch({
success: function() {
alert(person.get('Name')
}
});
2)这将显示name属性是一个对象(但不是主干模型):
{
Name: "Joe"
etc...
}
您可能需要使用Backbone.Relational或类似的东西,如果你想名称成为骨干模型。或者你可以重写parse来平展你的json。
+0
我没有注意到fetch是异步的,非常感谢你! – asawyer 2012-03-07 13:41:36
如果您将这些属性非规范化为类的字符串表示,会发生什么情况?例如'public name name {get;组; }'变成'公共字符串FullName {get;组; }' – Eli 2012-03-07 01:17:29