0

これらの項目で WebApi を使用して Result.items を返しました。1 つの項目は 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の読み取り方法に関する私の問題、上記のように試していますが、結果は1つのコンポーネントのみです。ノックアウト js を使用してデータを読み取る方法

4

1 に答える 1

0

JsonData はリストではなく文字列のようです。そのため、.NET json シリアライザーはそれを json リストに変換しません。json データが本当に何かのリストである場合は、それを List としてインスタンス化する必要があります。

于 2013-05-17T13:45:11.587 に答える