0

メインのWebアプリケーションのパネルに(多くのasp:controlsを含む)Webページをロードできるようにしたい。基本的にユーザーメニューから、対応するウェブページが読み込まれます。これまで私は以下を試しました...

  1. IFrame-これはコントロールのビューステートを保持しません
  2. Webページとは対照的に動的コントロールを作成しますが、ポストバックですべてのコントロールを再作成する必要があるため、多くのコントロールでは非常に遅くなります。

これを達成するための合理的な方法はありますか?

4

1 に答える 1

1

質問のコントロールの詳細に基づいて、ASP.NET Web フォームを使用していると思います。

あなたが説明したことから、現在のページにUpdatePanelコントロールを追加したいようです。更新パネルは、カスタムUserControlをホストできます。これは、ページの応答性を向上させる可能性が最も高くなります (通常、これはTreeViewコントロールが行うことです)。

そうは言っても、ダイナミック コントロールのデータ ソースが遅い (または Web サーバーが過負荷になっている) 場合を除き、100 個のダイナミック コントロールがページのレンダリング時間を犠牲にすることはありません。SharePoint インスタンスに対して 100 を超える動的コントロールを使用するページを作成しましたが、適切に応答しました。すべてのサーバー側コントロールは、作成、ロード、レンダリングされるクラス インスタンスであることに注意してください (一連のライフサイクルイベントをスキップしましたが、理解できます)。

于 2012-11-20T01:46:14.540 に答える