そこで、私は Kendo UI グリッドを試してみました。最初は、GET 経由で Web API コントローラーからデータを取得して、単純な非 MVC ヘルパー生成のクライアント側グリッドから始めました。問題なく動作しましたが、並べ替えとフィルターのパラメーターをバインドする厄介なモデルを取得し始めていました。
そこで、MVC ヘルパーの使用を開始したところ、問題が発生しました。これは次のとおりです。
MVC 以外で生成されたグリッドを使用し、GET を使用するように構成され、dataSource の「タイプ」が設定されていない場合、GET パラメータは次のようになります。
page 1
pageSize 10
skip 0
sort[0][dir] asc
sort[0][field] OrderID
take 10
これは、DataSourceRequest MVC ヘルパーにバインドする正しい形式です...しかし、MVC 拡張機能を使用して上記のグリッドをレンダリングすると、dataSource の「タイプ」が「aspnetmvc-ajax」に設定され、GET パラメータが次のようになります。
filter
group
page 1
pageSize 10
sort OrderID-asc
(複数の並べ替えパラメーターがある場合は、"~" で結合します)。この 2 番目の形式は DataSourceRequest に適切にバインドされないため、null の「Sorts」メンバーになります。MVC 拡張機能を使用している場合は DataSourceRequest ヘルパーしかないため、これは完全に逆のように思えますが、それらを使用すると、データが正しく送信されません!
また、例に従って通常の MVC コントローラーに POST しようとしましたが、同じ問題がありました。
いずれにせよ、拡張機能に aspnetmvc-ajax をレンダリングしないように指示する方法を見つけようとしています。誰にもアイデアはありますか?前もって感謝します...