私はこの質問が好きだった +1
基本的に、悪の UpdatePanel はすべての悪の根源です。悲しいことに、それは =( です。舞台裏の更新パネルはサーバーへの非同期ポストバックを発生させますが、何が起こるかを完全に理解するには、UpdatePanel の目標を理解する必要があります。
UpdatePanel は、ASP.Net Web フォームで動作するように設計されています。これらのコントロールが正しく動作するには、whoooole ASP.Net ページのライフサイクルを通過する必要があるため、 whoooole ページの ViewStateが必要です。したがって、UpdatePanel を使用してポストバックを実行するたびに、ページのごく一部のみを部分的にレンダリングしたい場合でも、ページ全体のビューステートがサーバーに送信されます....最悪です。マイクロソフトはなぜこのモンスターを作成したのですか? 5 ~ 6 年前 (またはそれ以上) には、AJAX が今日ほど普及していなかったからだと思います。もう 1 つの理由は、Microsoft が Web コントロールの機能を失うことなく、AJAX 呼び出しを簡単な方法で記述するためのフレームワークを提供したかったことです。
UpdatePanel
したがって、これを念頭に置いて、AJAX 呼び出しとの違いは次のとおりです。
AJAX 呼び出しは、サーバー メソッドが必要とするデータのみを送信し、必要なデータのみを返します。純粋な AJAX 呼び出しを使用した場合のパフォーマンスは印象的です。
しかし、私の Ajax リクエストによって呼び出されるメソッドは WebMethod でなければなりません。
サーバーからメソッドを公開するには、さまざまな方法があることを意味します。
従来の Web サービスの使用 - スクリプト サービス (ASMX)
PageMethods (ASPX ページの静的メソッド) の使用
WCF サービスの公開
WCF REST サービスの公開
ウェブ API の使用
MVC コントローラーのアクションの使用
JSON などの特定のコンテンツ タイプを返すカスタム HttpHandlers の使用
等
Web フォームを使用している場合、純粋な AJAX 呼び出しでサーバー メソッドを使用するときにサーバー メソッドを公開するために使用するアプローチに関係なく、結果は同じです。
純粋な AJAX 呼び出しを使用する場合は、MVC への移行を検討する必要があります。これは、Web フォームでは Web コントロールの機能が失われるためです。つまり、開発がより困難になります。