2013-08-27 47 views
1

我是Knockout.js的新手。我通過從ajax源加載數據並使用foreach循環創建數據表來實現Knockout.js。我跟着教程這裏如何將Knockout.js綁定到現有表格網格?

http://www.dotnetcurry.com/ShowArticle.aspx?ID=933

我的問題在這裏,因爲我的應用程序的性質,我覺得第一負載從服務器端採用網格組件更好的服務,我只希望淘汰賽.js照顧「添加」行,「更新」一行並「刪除」一行。

我的問題是,

1)我怎麼取代「第一」負荷和填充lookupCollection:與在HTML表中的默認數據在文章中ko.observableArray()? 2)與#1相關。如果第一次加載,包含數據的表格佈局是從服務器端構建的,那麼如何將「foreach」綁定到網格,以便可以在lookupCollection上執行「添加」?

再次感謝,我是一個新手,我必須在這裏錯過一些關鍵概念。

回答

0

一種方法是將您的初始數據傳遞到您的視圖模型。由於你使用的是asp.net,它看起來像這樣:

//Dump raw data into javascript variable 
var data = @Html.Raw(ViewBag.Data); 

function ViewModel(data) { 
    var self = this; 
    //Unpack raw data 
    self.lookupCollection = ko.observableArray(data.lookupCollection); 
} 

//initialize view model 
var viewModel = new ViewModel(data); 
ko.applyBindings(viewModel); 
+0

嘿布拉德利。感謝您的建議。好的。這回答了第一個問題。那麼,那我的第二期呢?意思是,網格需要在第一次加載時在服務器端渲染。我如何使用data-bind foreach來構造表格佈局? – Liming

+0

不應該改變: –