0
單個記錄我有一個基本的表格設置使用淘汰賽,但我不知道是否有什麼辦法可以編輯/保存單個記錄,而不是拯救整個視圖模型每次改變了嗎?這裏是我的代碼...如何保存與淘汰賽
<tbody data-bind="foreach: movies">
<tr>
<td data-bind="text: title"></td>
<td data-bind="text: releaseDate"></td>
<td data-bind="text: genre"></td>
<td data-bind="text: price"></td>
<td><input type="button" value="Edit" id="edit"/></td>
</tr>
<tr class="editable"> <!-- hide this initially, only show when edit button is clicked -->
<td><input id="titleInput" data-bind="value: title" /></td>
<td><input id="releaseDateInput" data-bind="value: releaseDate" /></td>
<td><input id="genreInput" data-bind="value: genre" /></td>
<td><input id="priceInput" data-bind="value: price" /></td>
</tr>
<!-- save button/form or something here containing ONLY this record -->
</tbody>
</table>
<script type="text/javascript">
function Film(data) {
this.title = ko.observable(data.Title);
this.releaseDate = ko.observable(data.ReleaseDate);
this.genre = ko.observable(data.Genre);
this.price = ko.observable(data.Price);
}
function MovieListViewModel() {
var self = this;
self.movies = ko.observableArray([]);
self.title = ko.observable();
self.releaseDate = ko.observable();
self.genre = ko.observable();
self.price = ko.observable();
$.getJSON("/Movies/GetAllMovies", function (allMovies) {
var mappedMovies = $.map(allMovies, function (movie) { return new Film(movie) });
self.movies(mappedMovies);
});
}
ko.applyBindings(new MovieListViewModel());
有什麼想法?謝謝!
我有現在得到這個控制器唯一的問題......我看着這個http://stackoverflow.com/questions/4656232/pass-object-from -json-into-mvc-controller-its-always-null當我這樣做時... window.location ='/ Movies/SaveMovie?movie ='+ movie;在self.updateMovie方法中,它調用方法,但數據沒有正確映射或者什麼,想知道你是否有任何想法?這裏是控制器方法(具有細節視圖):public ViewResult UpdateMovie(MovieViewModel movie) { return View(「TestView」,movie); } – 1Canuck16 2012-08-13 19:44:10
你可以發佈saveMovie()的代碼嗎?在那裏,您應該創建一個反映MovieViewModel並執行$ .post的JSON對象。或者發佈表示MovieViewModel的FORM。 – 2012-08-13 19:47:30
好的。從我的iPhone,可能不會很漂亮:$ .ajax('/ echo/json /', data:ko.toJS(movie), type:'post', success:function(data){ }, dataType:'json' }); – 2012-08-13 19:53:35