我有一个创建新公司的视图。
该公司有多个行业,或其中%1是主要行业。因此,当我输入该公司的交易时,我通过自动完成选择一个交易,该交易被添加到自动完成文本框下的交易网格中。该网格包含作为隐藏字段的tradeId、交易、指示交易是否是主要交易的单选按钮和移除按钮。
这是包含其他公司详细信息(如地址)的表单的一部分。现在我想知道我是否可以使用knockout和(也许) jsrender来填充网格,而不是发布到服务器上?
当我填写完网格和其他公司的详细信息后,我想将数据提交给控制器post方法。
通常,我使用Html助手将值发送到控制器,但我不知道如何使用knockout实现这一点。
发布于 2013-01-07 03:12:38
是的,你可以使用Knockout来做这件事。如果您尚未查看教程,请尝试此Knockout List and Collections tutorial。这应该会给你指明正确的方向。您需要做的是创建一个具有可观察属性的交易对象,并在一个单独的淘空视图模型中创建一个observableArray来存储交易对象。有关发布到服务器的信息,请参阅同一位置的其他教程。
function Trade(item) {
var self = this;
self.tradeId = ko.observable(item.tradeId);
self.tradeName = ko.observable(item.tradeName);
self.isPrimary = ko.observable(item.isPrimary);
}
function TradesViewModel() {
var self = this;
// Editable data
self.trades = ko.observableArray([]);
self.removeTrade = function(trade) { self.trades.remove(trades) }
self.save = function() {
$.post("/controller/action", self.trades);
}
}
ko.applyBindings(new TradesViewModel());https://stackoverflow.com/questions/14177173
复制相似问题