【问题标题】:How To Read JsonData inside WebApi result using knockout js如何使用淘汰赛js读取Web Api结果中的Json数据
【发布时间】:2013-05-12 13:13:27
【问题描述】:

我在这些项目中使用 WebApi 返回了 Result.items 一项是 JsonData 如何使用我的 MVC 应用程序的 Knockout.js 读取 jsonData

我在一个视图中尝试如下

 <ul id="modelView" class="modelList" data-bind="foreach: modelItemList">
        <li class="modelListItem" style="border: solid" data-bind="css: { selected: $data == $root.selectedItem() }">
            <span data-bind="text: $data.ComponentName"></span>
            <ul>
                  <li class="modelList" data-bind="foreach: data.JsonData">
                    <span data-bind="text: data.ColumnName"></span>
                </li>
            </ul>

        </li>

我的modelItemList对象如下是一个DashBoardComponent的列表

public class DashBoardComponent
{
    public int ComponentId { get; set; }
    public string ComponentName { get; set; }
    public string ComponentType { get; set; }
    public string JsonData { get; set; }
}

我的 jsonData 是 DashBoardComponentColumn 的对象列表

public class DashBoardComponentColumn
{
    public int ColumnId { get; set; }
    public string ColumnName { get; set; }
    public string ColumnType { get; set; }
}

然后我的问题是如何读取 jsondata,我正在尝试如上但它只产生一个组件。 如何使用knockout js读取数据

【问题讨论】:

    标签: json asp.net-mvc-4 knockout.js asp.net-web-api


    【解决方案1】:

    看起来 JsonData 是一个字符串,而不是一个列表。因此,.NET json 序列化程序不会将其转换为 json 列表。如果 json 数据确实是任何东西的列表,则应将其实例化为列表。

    【讨论】:

    • 在这个例子中,我所做的就是将整个 json 数据反序列化为列列表,并准备一个视图模型,如下所示 public class DashBoardViewModel { public int ComponentId { get; set; } public string ComponentName { get; set; } public string ComponentType { get; set; } public List&lt;DashBoardComponentColumn&gt; columnlist { get; set; } } 并返回视图..跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多