【发布时间】:2016-04-14 21:49:37
【问题描述】:
我在使用 javascript 从序列化的Dictionary<string, CustomType> 访问数据时遇到了一些问题。以下 json 是我的序列化字典的输出。
生成的 JSON 是:
items:
{
"Books":{
"Type":2,
"Count":20547
},
"Games":{
"Type":1,
"Count":2647
},
"Films":{
"Type":0,
"Count":57213
}
};
在我的 javascript 文件中,我创建了一个 observable:
ko.observable(items)
我遇到的问题是在我看来访问此信息。我需要根据“键”值动态检索数据。我试过使用:
@{ var key = Model.Key; }
<p data-bind="text: items[@key].Count"></p>
但是,我收到以下错误:
Uncaught ReferenceError: Unable to process binding "text: function (){return items[Film].Count }"
Message: Film is not defined
使用 c#,我可以使用 items["Books"] 访问特定键的值。是否有可能使用淘汰赛来实现这一目标?
【问题讨论】:
-
options.items.Books? -
您发布的代码毫无意义。它充其量是不完整的,如果我想象完整的图片可能是怎样的,我会说你有一个关于创建
observableArray提供非数组的 KO 错误。请在您的代码中包含您的情况的完整重现(请参阅“minimal reproducible example”以获得指导)。
标签: c# asp.net-mvc dictionary knockout.js