我有一个jsonresult方法的结果,它返回一堆数据,包括一个图像列表。我想使用部分结果(图像列表)作为ListView的数据源。数据从jsonresult方法回来很好。如果我在JS中使用alert(data.TravelerImages [x]),我会得到我期望的结果;但是当我尝试使用data.TravelerImages作为数据源时,我似乎一无所获。
操作顺序如下:
这是我的ListView,注意我最初没有设置数据源,因为直到图像列表从jsonresult方法返回时才能显示:
<div class="divTraveler_Image">
@*<img id="TravelerImage" class="Traveler_Image" />*@
@(Html.Kendo().ListView<DataSourceResult>()
.Name("lvTravelerImages")
.TagName("divImageListView")
.ClientTemplateId("template")
.Pageable()
.Selectable(selectable => selectable.Mode(ListViewSelectionMode.Multiple))
)
</div>
这是我尝试绑定到ListView的地方(这发生在jquery方法的成功函数中:
var lvTravelerImageData = new kendo.data.DataSource({ data: data.TravelerImages });
//alert(data.TravelerImages[0]) // works great
$('#lvTravelerImages').kendoListView({
dataSource: lvTravelerImageData,
});
lvTravelerImageData.read();
除了空的ListView之外,这部分什么都没有显示。任何帮助表示赞赏。非常感谢。
答案 0 :(得分:1)
您正在第二次初始化ListView而不是获取客户端对象。您应该获得如下对象并使用setDataSource方法。
e.g。
var lvTravelerImageData = new kendo.data.DataSource({ data: data.TravelerImages });
//alert(data.TravelerImages[0]) // works great
$('#lvTravelerImages').data("kendoListView").setDataSource(lvTravelerImageData);
lvTravelerImageData.read();