質問

最適化しようとしている Web アプリケーションがあります。一部のコントロールはダイアログ スタイルで非表示になります DIVs. 。したがって、ユーザーが見たい場合にのみ AJAX 経由で読み込むようにしたいと考えています。これは、主にリテラルベースのコントロール (さまざまなメニューやウィジェット) には問題ありませんが、いわゆる「ダーティ」コントロール (大量の情報を書き込むコントロール) がある場合には問題ありません。 ViewState, 、ページ上に大量の CSS やスクリプトを配置する、多くの参照が必要など - 特に ASP.NET がポストバックでどのように反応するかを考慮すると、これらを「ページ外」に移動することは一見不可能です。

Render をオーバーライドし、移動したいビットのマーカーを見つけて、そこに AJAX プレースホルダーを配置する、ある種のステップを検討していましたが、サーバーのオーバーヘッドが極端に大きいように見えるだけでなく、完全なハッキングのように感じられます。さらに、ここで重要な要素は、検証コントロールを備えたフォームを含むダイアログ ボックスですが、コントロールをどのように移動するか想像できません。 そして 必要なスクリプト。

私の熱狂的な想像の中で、私はこれをしたいと思っています:

AJAXifier.AJAXify(ctlEditForm);

悲しいことに、これが夢であることはわかっています。

サーバーに過度の負荷を与えずに、迅速かつ簡単な AJAX 化にどれだけ近づけることができるでしょうか?

役に立ちましたか?

解決

をチェックしてください RadAjax Telerik からのコントロール - 呼び出し側コントロールと、呼び出し側コントロールがポストバックを送信するときに「Ajax 化」する必要があるコントロールとの間の直接の関係を宣言することで、UpdatePanel の使用を回避し、サーバーとクライアントの間でやり取りされる情報の量を制限できます。

他のヒント

今週末、地元の本屋に行き、コーヒーを飲みながら、Manning Press 著の jQuery in Action を見つけてみることをお勧めします。ストアでこの 300 ページの本の最初の章を読んで、共感したら購入してください。

jQuery を使用すると、ここで説明した内容をいかに簡単に実行できるかに驚かれると思います。バックグラウンドでのサーバーへの ajax 呼び出しから、訪問者のアクションに基づいた div タグの表示と非表示まで。記述しなければならないコードの量は非常に少ないです。

優れた JavaScript ライブラリはたくさんありますが、これは私が気に入っているものの 1 つにすぎず、始めるのは本当に簡単です。まず、タグを使用して現在の jQuery ファイルへの参照を含めてから、ページを操作するためのコードを数行記述します。

ステップ 1 は、「汚い」部分を自己完結型のユーザー コントロールにすることです。

ステップ 2 では、これらのコントロールを使用ページに埋め込みます。

ステップ 3 では、各ユーザー コントロール タグを独自の Asp:UpdatePanel でラップします。

ステップ 4 では、ビューステートと照合して既存の値をチェックするプロパティからコントロールを読み取ることで、コントロールが必要なデータを確実に取得できるようにします。これにより、コードが醜いグローバル変数に依存することになるのは承知していますが、これを迅速に行う方法です。

あなたのマイレージは異なる場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top