0

我是第一个使用淘汰赛的 MVC4 应用程序。我有一个书单,每本书都有一个类别('domeniu')。我需要在插入或更新时拥有一个包含所有类别的下拉列表。

书籍和类别位于 SQL 数据库中(首先使用 EF 代码)。我设法查看了所有书籍的列表,编辑和插入此属性除外。最后一次尝试是向我的 book 对象添加一个属性,并使用包含所有类别的 JSON 对象填充它。类似于:来自视图模型类的代码

this.titlul = ko.observable("@Model.Carte.Titlul"); ...... this.domeniuId = ko.observable("@Model.Carte.DomeniuID"); this.domenii = ko.observable(JSON.stringify(@Html.Raw(Model.DomeniiJSON)));

以及 this.domenii 的调试器中的结果

[{"domeniuId":1,"domeniul":"Engleza"},{"domeniuId":2,"domeniul":"Romana"},{"domeniuId":3,"domeniul":"Matematica"},{ "domeniuId":4,"domeniul":"Geografie"},{"domeniuId":5,"domeniul":"Istorie"}]

在书中我domeniuId有财产,所以我需要domeniul从类别中显示财产并放入domeniulId书籍。但是这段代码没有显示任何内容:

<select id="domeniuId" name="domeniuId" data-bind="options: model.domenii, optionsText: 'domeniul', optionsValue: 'domeniuId', value: model.domeniuId, optionsCaption: 'Alege domeniul...'" /> 

我在哪里可以找到有关此问题的示例或其他内容?

[更新]

我班级中的一些代码将成为视图模型

this.titlul = ko.observable("@Model.Carte.Titlul"); 
this.domeniuId = ko.observable("@Model.Carte.DomeniuID"); 
this.domenii = ko.observable(JSON.stringify(@Html.Raw(Model.DomeniiJSON))); 

domenii调试器中的结果:

[{\"domeniuId\":1,\"domeniul\":\"Engleza\"},{\"domeniuId\":2,\"domeniul\":\"Roma‌​na\"},{\"domeniuId\":3,\"domeniul\":\"Matematica\"}]
4

1 回答 1

0

尝试这个:

<select
id="domeniuId"
name="domeniuId"
data-bind=" options: model.domenii,
            optionsText: 'domeniul',
            optionsValue: 'domeniuId',
            value: 'domeniuId',
            optionsCaption: 'Alege domeniul...'" />

JS:

var model = {
    domenii: json
};

ko.applyBindings(model);

看到它在jsFiddle上工作。

于 2013-07-18T10:44:00.380 回答