c# - 如何从 mvc3 模型的序列化 json 中获取backbone.js 模型?

标签 c# javascript asp.net-mvc-3 backbone.js coffeescript

如果我的 MVC3 应用程序中有这样的模型:

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; }
}

如何使用backbone.js 中的.fetch() 填充它?

这是我尝试过的:

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 Action 方法和控件,并已使用 Fiddler 验证 fetch() 调用是否正确返回 Json 数据。 (我可以明天早上从办公室发布)

我是 Backbone 的新人,我做错了什么?

最佳答案

有几件事:1) fetch 是异步的。试试这个:

person.fetch({
    success: function() {
        alert(person.get('Name')
    }
});

2) 这将显示 name 属性是一个对象(但不是 Backbone 模型):

{
    Name: "Joe"
    etc...

}

您可能想使用Backbone.Relational或者类似的东西,如果你希望 Name 作为 Backbone 模型。或者您可以覆盖 parse展平你的 json。

关于c# - 如何从 mvc3 模型的序列化 json 中获取backbone.js 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594403/

相关文章:

c# - 使用枚举设置元素的可见性?

ASP.NET MVC,帐户模型 : How to make relations to it?

jquery - MVC 自定义验证 : compare two dates

c# - 如何检查 cshtml 中的 null/empty 值

c# - .Net 中有 ZonedDateTime (Java) 吗?

c# - 是否可以在 Regex 中执行此操作

c# - 如何获取Python脚本返回值以在Visual Studio表单中使用?

javascript - 设置输入文本框中输入的最小数值

javascript - 使用 pdfmake 在段落周围添加边框

Javascript - 暂停具有 setTimeout 并显示分钟/秒的 IIFE 输出 - 番茄钟