0

ASP.NET MVC に jqGridを使用する MVC プロジェクトに取り組んでいます。ただし、pure-jquery-client-side バージョン (jqGrid)の方がパフォーマンスが優れていると言われています。これは本当ですか?私には、コードが異なる場所にあるというだけで、どちらも同じことをしているように見えます.すべての大規模な作業は、依然としてajaxを使用して行われています. アドバイスをいただければ幸いです。

EDIT-グリッドを使用するほとんどの場所は、100行未満、ページサイズ30、約10〜12列、ほとんどが文字列と日付です。500 行のグリッドを使用するページは 1 つだけですが、これはめったに使用されません。

4

1 に答える 1

0

既存のコードを書き直す必要はないと思いますが、使用するデータが 1000 行未満の場合は、使用するのloadonce: trueが実際の代替手段であることに同意できます。

jqGrid の設計は、サーバー側の並べ替え、ページング、およびフィルタリング/検索に重点を置いています。そのため、バージョン 3.7 より前のバージョンで jqGrid を使い始めるほとんどのユーザーは、すでに適切なバックエンドを実装しています。JavaScript コードはもともとインタープリター言語として設計されているため、ネイティブ コードを使用する SQL Server はより迅速に動作するはずです。一方、Web ブラウザーの現在のバージョンには、JavaScript エンジンが含まれています。バージョンが新しくなるたびに、JavaScript のパフォーマンスがますます向上します。

ユーザーにとって、ペアリング、ソート、またはフィルタリング操作の合計時間が重要になる場合があります。これには、Web サーバーへの往復時間が含まれます。生産環境で正確な測定を行って、ローカル グリッドと純粋なリモートdatatype(.xml を使用しない "json" または "xml" loadonce) を使用したグリッドのパフォーマンスを比較することをお勧めします。私が自分で使用する大まかなルールは次のとおりです。

  • 私が使用する約1000行未満の行数の場合、loadonce: trueクライアント側のページング、データのソートおよびフィルタリング
  • 行の総数が 10000 を超える場合は、常にサーバー側のページング、並べ替え、およびフィルタリングを使用します

あなたの環境(ネットワーク、サーバーへの往復時間など)は他のものかもしれません。したがって、ユーザーのクライアント側でのデータ保持を改善する必要がある場合と、サーバー側での保持が異なる場合のエッジ。それにもかかわらず、 の使用はloadonce: true実際には非常に効果的です。

私は個人的に、あなたが参照したjqGridの商用バージョンを使用していません。そのため、バックエンド側を自分で作成する必要があります。loadonce: trueサーバーコードの使用方法は非常に簡単です。デバッグと保守が簡単です。

于 2013-04-04T15:46:56.973 に答える