如何在骨干网中发送模型数组到Post API方法?

时间:2012-12-10 12:59:44

标签: jquery asp.net-mvc backbone.js

我在我的mvc应用程序中使用backbone.js,我有一个场景,我必须将数组传递给Rest API中的Post方法。我正在尝试发送一组模型,然后调用this.collection.create(model)。我试图将Post方法称为

var myArrayofModels = JSON.stringify(e.models);
this.collection.create(myArrayofModels );

这里e.models是一个模型数组,我转换为json并调用Post方法,我希望像Post这样在Post方法上接收模型数组

public HttpResponseMessage Post(InsuranceAddressViewModel[] model)
{
    return null;
}       

但是我在Post方法中得到了null数组。我将模型数组转换为json的方法很好或者必须做其他事情。我尝试了几种解决方案,但无法理解。

1 个答案:

答案 0 :(得分:1)

答案可以在Stack Overflow找到。基本上,您将集合存储在模型中,然后覆盖模型中的toJSON方法。下面是一个简单的例子。

var ModelArray = Backbone.Model.extend({
  toJSON: function() {
     return this.collection.toJSON();
  }
});

var modelCollection = new ModelArray({ collection: collectionOfModels })

modelCollection.save();

然后,您的控制器应该拾取您要保存的格式正确的模型阵列。