C# 如何在backbone.js中实现页面刷新(从服务器获取数据并丢失所有更改)功能?

C# 如何在backbone.js中实现页面刷新(从服务器获取数据并丢失所有更改)功能?,c#,javascript,backbone.js,C#,Javascript,Backbone.js,我使用两个视图,一个原始视图显示整个项目列表(当前显示3个人的详细信息),另一个视图是模式对话框,用于向集合中添加新项目。在模式对话框中单击“添加”时,新时间将填充到原始视图中。但是我在页面中有一个“CancelChanges”按钮,当我单击时,原始视图必须只显示从severe获取的项目,并且丢失以后所做的所有更改。我有办法做到这一点吗。当我尝试调用我的原始视图时,该页面总共显示了7个人的详细信息。从服务器获取的3个原始项+从模式对话框中新添加的项,并将3个原始项附加到该列表中。有人能告诉我如何

我使用两个视图,一个原始视图显示整个项目列表(当前显示3个人的详细信息),另一个视图是模式对话框,用于向集合中添加新项目。在模式对话框中单击“添加”时,新时间将填充到原始视图中。但是我在页面中有一个“CancelChanges”按钮,当我单击时,原始视图必须只显示从severe获取的项目,并且丢失以后所做的所有更改。我有办法做到这一点吗。当我尝试调用我的原始视图时,该页面总共显示了7个人的详细信息。从服务器获取的3个原始项+从模式对话框中新添加的项,并将3个原始项附加到该列表中。有人能告诉我如何从el中清除初始列表吗?

我想到的最简单的方法是保存初始模型数据,然后在单击“取消更改”时还原它们按钮并重新渲染视图,类似于:

Backbone.View.extend({

initialize: function(){
    _.bindAll(this,'restore_collection');
    this.collection.bind('reset',this.render);
    this.originalModels = this.collection.models;    
},

events: {   
    "click #cancel" : "restore_collection"   
},

restore_collection: function(){   
    this.collection.reset(this.originalModels);    
}

谢谢,它帮助了我。我还发现,可以通过在我的元素上调用empty来实现$(this.el).empty();在我调用$(this.el).append(contacts)之前;它帮助我恢复了收藏。