如何从asp.net mvc将模型集合注入backbone.js
How to inject model collection into backbone.js from asp.net mvc?
我在backbone.js中看到过一些例子,它说应该将初始模型集合引导到页面中,而不是出去获取它。这一点很有道理。出于某种原因,我不知道如何使用asp.net mvc应用程序来实现这一点。我在下面开始了一个快速的例子。
控制器动作:
public ActionResult Index()
{
CustomerRespository repository = new CustomerRespository();
ViewModel model = new ViewModel();
model.Customers = repository.GetAll();
return View(model);
}
视图模型:在这里,我正在创建将客户列表注入应用程序所需的json。
public List<Customer> Customers { get; set; }
public string CustomerJson
{
get
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(this.Customers);
}
}
解码json在我看来:
@{ string s = HttpUtility.HtmlDecode(Model.CustomerJson); }
调用backbone.js应用程序中的collection.reset():
this.customers = new CustomerCollection();
this.customers.reset("@s");
出于某种原因,这似乎不正确。
从模型中删除CustomJson属性。你不需要它。
public List<Customer> Customers { get; set; }
足够了。
然后在你看来:
<script type="text/javascript">
this.customers = new CustomerCollection();
this.customers.reset(@Html.Raw(Json.Encode(Model.Customers)));
...
</script>
会产生类似的东西
<script type="text/javascript">
this.customers = new CustomerCollection();
this.customers.reset([{"Id":1,"Name":"Foo"}, {"Id":2,"Name":"Bar"}]);
...
</script>
相关文章:
- 为集合分配大量的模型弹药
- 如何使用backbone.js从集合中获取模型名称
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 主干-从模板中迭代的集合中获取特定的模型
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 从骨干集合筛选模型,然后为这些模型设置属性
- 主干模型:保存时保留集合
- 主干输出用于集合模型的空数组
- 无集合模型
- 无法访问 Backbone.js 集合/模型从模板中
- 在主干应用中持久更新集合模型的正确方案
- Backbone 如何在需要时更新集合模型
- 主干:访问集合模型
- 制作模型属性“;独特的“;在集合模型中
- 打印出集合和集合.模型给出了不同的结果
- 在将集合模型的旧值设置为新值后,获取它们的主干模型
- Backbone.js中的嵌套集合/模型视图管理
- 将Backbone.js JSON响应填充到嵌套集合/模型中的嵌套集合中
- 骨干-在初始化集合模型时传递数据
- 从嵌套的集合模型javascript创建JSON