0

画像のリストを含む一連のデータを返す jsonresult メソッドの結果があります。結果の一部 (画像のリスト) を ListView のデータソースとして使用したいと考えています。データは jsonresult メソッドから正常に返されます。JS で alert(data.TravelerImages[x]) を使用すると、期待どおりの結果が得られます。しかし、data.TravelerImages をデータソースとして使用しようとすると、何も得られないようです。

操作の順序は次のとおりです。

  1. インデックスページは、jasonresultデータがフィールドに入力されたビューをロードします-これは機能します。
  2. 画像のリストに正しいデータが入力されていることを確認します-これは機能します。
  3. ListView のデータソースとして画像のリストを使用していますが、これは機能しません。

これが私の 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 以外は何も表示されません。どんな助けでも大歓迎です。本当にありがとう。

4

1 に答える 1

1

クライアント オブジェクトを取得する代わりに、ListView を 2 回目に初期化しています。次のようにオブジェクトを取得し、setDataSource メソッドを使用する必要があります。

例えば

var lvTravelerImageData = new kendo.data.DataSource({ data: data.TravelerImages });

  //alert(data.TravelerImages[0]) // works great

  $('#lvTravelerImages').data("kendoListView").setDataSource(lvTravelerImageData);

  lvTravelerImageData.read();
于 2014-03-24T20:55:06.607 に答える