녹아웃을 사용하여 기본 테이블을 설정했지만, 매번 전체보기 모델을 저장하지 않고 단일 레코드를 편집/저장하는 방법이 있는지 궁금합니다. 변경이 이루어 졌습니까? 여기에 ...녹아웃을 사용하여 단일 레코드를 저장하는 방법
<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
saveMovie() 코드를 게시 할 수 있습니까? 여기서 MovieViewModel을 반영하고 $ .post를 수행하는 JSON 객체를 만들어야합니다. 또는 MovieViewModel을 나타내는 FORM을 다시 게시합니다. –
확인. 내 아이폰에서 너무 귀엽지 않을 수도 있습니다. $ .ajax ({ url : '/ echo/json /', data : ko.toJS (movie), type : 'post', success : function (data) { }, 데이터 유형 : 'json' }); –