jQuery AJAX と更新パネル
-
09-06-2019 - |
質問
大量の jQuery (約 2000 行) を含むページがありますが、メンテナンスが大変なので削減したいと考えています。サーバー上でメンテナンスするほうが簡単かもしれません。これには UpdatePanel を使用することを考えました。ただし、UpdatePanel がページ全体をサーバーに送り返すという事実は気に入りません。
解決
UpdatePanels には移動しないでください。jQueryから来てから、 パフォーマンスの低下 耐えられないでしょう。特に、あなたのような複雑なページの場合はそうです。
JavaScript コードが 2,000 行ある場合、解決策はそのコードをリファクタリングすることです。2,000 行の C# コードを 1 つのファイルに入れると、メンテナンスも困難になります。これを効果的に管理するのは困難です どれでも 言語とかツールとか。
3.5 SP1 を使用している場合は、ScriptManager の新しいスクリプトを組み合わせて使用すると、ペナルティなしで JavaScript を複数のファイルに分割できます。こうすることで、サーバー側のコードと同じようにコードを論理的に分割できます。
他のヒント
どうかその痛みの世界に身を置かないでください。代わりに使用してください UFRAME これは非常に高速であり、jQuery で実装されています。
さて、これら 2000 行の Javascript コードを管理するには、コードを異なるファイルに分割し、JSMin または Yahoo Compressor を使用してそれらをチャンクに結合するようにビルド プロセスを設定することをお勧めします。
UpdatePanel を最適化する方法があるかどうかはわかりませんが、私の会社ではそのパフォーマンスがかなり悪いことがわかりました。jQuery は、ほとんどのことをはるかに高速に実行できます。
UpdatePanel が更新をトリガーする時点と、UpdatePanel が実際にページを更新する時点との間には、大幅な遅れが生じる可能性があります。
UpdatePanels を使用する唯一の理由は、開発が容易であるためです。それらを機能させるために何もする必要はほとんどありません。
UpdatePanel を使用すると、Web ページに大量のスクリプトを追加する ScriptManager を使用する必要があります。UpdatePanel は、実際の Ajax ではなく、部分的なポストバックを提供します。インターネットではなく LAN 上でのみ実行する場合は問題ありませんが、ターゲットがインターネットの場合は、Web サイトで公開する前にコードをリフラクタリングし、いくつかのツールで圧縮してみてください。