0

GitHub の公開サンプルからTelerik のgrid-crudサンプルをダウンロードしました

クライアント側のJavaScriptの初期化からサーバー側のラッパーに変換しました(試用版をダウンロード)

コードは次のとおりです (ここでは手で入力します。開発マシンは inet に接続されていません)。

@(Html.Kendo.Grid<SampleViewModel>()
    .Name("SamplGrid")
    .Columns( c=>
    {
        c.Bound(s => s.id);
        c.Bound(s => s.Name);
    })
    .Pageable()
    .Sortable()
    .DataSource( ds => ds
     .Ajax()
     .PageSize(10)
     .Read( r => r.Action("Read", "Samples").Type(HttpVerbs.Post))
     )
)

問題は、ソートが機能しないことです。

私のバージョンでサーバーに送信されるソート式は次のようになります。 take=10&skip=0&page=1&pagesize=10&sort%5B0%5D%5Bfield%5d=id%5Bdir%5d=asc

元のサンプルでは次のようになります。

{"take":10,"skip":0,"page":1,"pagesize":10,"sort":[{"field":"id","dir":"asc","compare":null}]}

つまり、サンプルは JSON を送信しますが、私のコードは別のものを生成します。

サーバーラッパーを使用してグリッドに同じ JSON を送信させる方法は?

4

1 に答える 1

0

OK 、問題と解決策を見つけました。

@Imanが言ったように、サーバーに送信されたデータは単なるJSONではなくエンコードされており、サーバーはJSONを期待していました。

サーバーに関する限り、並べ替え式が無効であったため、並べ替えが機能していませんでした。

グリッドが JSON を送信するようにするには、そのように構成する必要があります。問題は、サーバー ラッパーがこの特定の機能をサポートしていないことです。これを行う唯一の方法は、javascript を使用してクライアント側でこれを構成することです。

Telerik のサポート フォーラムでこの投稿が非常に役立つことがわかりました。

于 2013-10-14T11:28:06.857 に答える