本文共 1377 字,大约阅读时间需要 4 分钟。
在本节,你将添加让用户可以创建新book的功能。在app.js中,添加如下代码到视图模型:
self.authors = ko.observableArray();self.newBook = { Author: ko.observable(), Genre: ko.observable(), Price: ko.observable(), Title: ko.observable(), Year: ko.observable()}var authorsUri = '/api/authors/';function getAuthors() { ajaxHelper(authorsUri, 'GET').done(function (data) { self.authors(data); });}self.addBook = function (formElement) { var book = { AuthorId: self.newBook.Author().Id, Genre: self.newBook.Genre(), Price: self.newBook.Price(), Title: self.newBook.Title(), Year: self.newBook.Year() }; ajaxHelper(booksUri, 'POST', book).done(function (item) { self.books.push(item); });}getAuthors();
在Index.cshtml中,替换以下代码:
到:
Add Book
这段代码创建了一个表单,用于提交新的作者。作者下拉框的值被数据绑定到视图模型的authors中。对于其他的表单输入,这些值都被数据绑定到视图模型的newBook属性。
这个表单上的提交事件被数据绑定到addBook函数:
这个addBook函数读取数据绑定表单输入中的当前值,并创建JSON对象。然后会POST这个JSON对象到/api/books。
转载地址:http://erxsa.baihongyu.com/