@model App4MVC4.Controllers.UserViewModel
@section scripts{
<script type="text/javascript">
function viewModel() {
var baseApiUri = "@Model.apiBaseUrl";
var self = this;
/********** nested view model **********/
function userViewModel(user) {
var self = this;
self.user_ID = user.user_ID;
self.firstName = user.firstName;
self.lastName = user.lastName;
self.long_name = ko.computed(function(){return self.firstName + " " + self.lastName});
self.Login = user.Login;
self.dateAdded = user.dateAdded;
self.email = user.email;
self.alertOptIn = user.alertOptIn ? "Yes" : "No";
self.active = user.active ? "Yes" : "No";
}
/********** properties **********/
self.newUser = ko.observable();
self.userBeforeEdit = ko.observable();
self.users = ko.observableArray();
self.user = ko.observable();
self.operationStatus = ko.observable();
/********** methods **********/
// create new user (HttpPost)
self.create = function (formElement) {
self.operationStatus("Creating ...");
$(formElement).validate();
if ($(formElement).valid()) {
$.post(baseApiUri + "/api/user", $(formElement).serialize(), null, "json")
.done(function (o) {
self.users.push(o);
})
.fail(function (xhr, textStatus, err) {
self.operationStatus(err);
});
}
}
self.cancelAdd = function() {
self.newUser(new userViewModel());
}
}
// instantiate the above ViewModel and apply Knockout binding
ko.applyBindings(new viewModel());
// make jQuery tabs
$("#tabs").tabs();
</script>
}
당신은 괄호를 놓쳤다. 그 덕분에 나에게 많은 머리카락이 생겼다. ;-)
감사합니다 : 여기에 사용자에 대한 값을 검색 할 때
– user266909self.create (formElement) 메소드가 작동하지 않는 이유를 알고 계십니까? Ajax 요청 본문은 항상 비어있다. – user266909
당신의 self.create 메소드는 '폼'요소가 아닌 '저장'버튼 요소를 전달합니다. – Rustam