【发布时间】:2014-11-27 12:54:17
【问题描述】:
我正在尝试学习如何使用淘汰赛,但还没有找到一个简单的例子来说明我想要实现的目标。我只是想将我的 mvc Model 类中的 List 绑定到我的 viewModel 以进行淘汰。例如,如果我有下面的模型..这是一个类文件。
public class PropaneMaintModel
{
public List<PropaneMaintAssignment> PropaneMaint{get;set;}
public List<string> LocationIds { get; set; }
public int? SelectedLocation { get; set; }
}
public class PropaneMaintAssignment
{
public int StoreNumber { get; set; }
public int Tanks { get; set; }
[Required(ErrorMessage="Tank Size must have a value")]
[Range(0,10000,ErrorMessage="Tank Size must be between 0 and 10000.")]
public int TankSize { get; set; }
}
如何让列表“PropaneMaint”与淘汰赛绑定一起使用?我需要像淘汰赛网站上的示例一样从列表中添加/删除。我的视图模型定义如下,但它不起作用。
function propaneMaintViewModel() {
var viewModel = this;
viewModel.PropaneMaint = ko.observableArray([]);
viewModel.addNew = function () {
viewModel.PropaneMaint.push(
{
StoreNumber: 0,
Tanks: 0,
TankSize: 0
}
);
}
}
ko.applyBindings(new propaneMaintViewModel());
【问题讨论】:
-
您是否在某处创建
propaneMaintViewModel的新实例?调用ko.applyBindings(propaneMaintViewModel());看起来不对。您应该在别处构造一个propaneMaintViewModel并在ko.applyBindings中使用它或调用ko.applyBindings(new propaneMaintViewModel());。 -
我不是,但我同意只为参数添加“新”。关于页面标记,我只是用一些按钮为每个循环做一个剃刀。我看到了一个淘汰赛示例,但它不适用于从模型中填充的列表。
标签: c# asp.net-mvc-4 knockout.js knockout-mvc