如何使用敲除js读取WebApi结果中的JsonData
我已经返回了Result.items使用WebApi在这些项中有一项是JsonData如何使用MVC应用程序的Knockout.js读取JsonData 从一个观点来看,我已经尝试了以下几点如何使用敲除js读取WebApi结果中的JsonData,json,asp.net-mvc-4,knockout.js,asp.net-web-api,Json,Asp.net Mvc 4,Knockout.js,Asp.net Web Api,我已经返回了Result.items使用WebApi在这些项中有一项是JsonData如何使用MVC应用程序的Knockout.js读取JsonData 从一个观点来看,我已经尝试了以下几点 <ul id="modelView" class="modelList" data-bind="foreach: modelItemList"> <li class="modelListItem" style="border: solid" data-bind="css:
<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>
我的jsonData是DashBoardComponentColumn的对象列表
public class DashBoardComponentColumn
{
public int ColumnId { get; set; }
public string ColumnName { get; set; }
public string ColumnType { get; set; }
}
然后,我的问题是如何读取jsondata,我尝试如上所述,但结果只有一个组件。
如何使用knockout js读取数据看起来JsonData是一个字符串,而不是一个列表。因此,.NET json序列化程序不会将其转换为json列表。如果json数据确实是一个列表,您应该将其实例化为一个列表。在本例中,我所做的就是将整个json数据反序列化为列列表,并准备一个视图模型,如下所示
公共类DashBoardViewModel{public int ComponentId{get;set;}public string ComponentName{get;set;}public string ComponentType{get;set;}public List columnlist{get;set;}}
并返回视图。。
public class DashBoardComponentColumn
{
public int ColumnId { get; set; }
public string ColumnName { get; set; }
public string ColumnType { get; set; }
}