好吧,我知道这是一个远射。backbone.js从asp.net填充大型嵌套模型mvc viewmodel
我在后端使用asp.net mvc。我将有一个操作返回一个json viewmodel,它将包含几个简单的属性以及对象和对象集合。例如
public class ViewModel
{
public string Name {get;set;}
public Person Person {get;set;}
public IEnumerable<SleectListItem> UserTypes {get;set;}
}
public class Person
{
public string FirstName {get;set;}
public string LastName {get;set;}
public int UserType {get;set;}
}
一个SelectListType只是一个名字值对“文本”和“价值”,并在其“选择”属性
的想法是,有一个表单,您可以创建一个人通过填写名字,姓氏和从下拉列表中选择一个用户类型。
我想做什么就能做的是有一组Backbone.js的车型如
app.MyViewModel=Backbone.Model.extend();
app.Person=Backbone.Model.extend();
app.SelectListItem=Backbone.Model.Extend();
app.UserTypes=Backbone.Collection.Extend({
model:app.SelectListType
})
,并能够通过传递JSON来填充MyViewModel来自这将是服务器返回像这样的东西
{Name:'SomeName',
Person:{
FirstName:'Frank',
lastName:'Jones'
},
UserTypes:[{Text:'Admin',
Value:1,
selected:false},
{text:'peon',
Value:2,
selected:false}
这不是我知道的传统方式。我想我应该为每个对象或某个对象调用一次,但我真的只想要一次调用服务器来获取所需的所有数据,因为它已经在服务器上正确收集和排列。
我可以编写各种循环来填充所有不同的集合等,一旦数据到达,但没有一些更有效的方式来做到这一点?
我已经看过骨干关系,但不知道它会做我所需要的东西,它看起来像一大堆我不需要的东西,但如果它确实有效,那么这将是值得的,会很棒的。谢谢 – Raif 2012-02-26 01:16:54