2008-09-12 24 views
1

私はページの結果ページを持っています(あなたは他の場所にあなたの検索クエリを提出した後そこに行きます)。AJAX部分ページの読み込み?

明らかに、一部のクエリは他のクエリよりも時間がかかります。必要なデータをすぐに各グリッドビューに表示させるにはどうすればいいですか?

ポストバックとページロードで動作する必要があるため、これは私にとっては難しいことです。また、オブジェクト・データ・ソースはページのロード/ポストバック時に自動的に起動します。私はデータを取得するためにプログラム的にメソッドを呼び出すわけではありません。これを変更する必要がありますか?

答えて

2

@Garethジェンキンス

ページでも最初の更新パネルを返す前に、すべてのクエリを実行しますので、彼はそこにすべての時間を節約しません。

これを行うには、複雑なグリッドビューのそれぞれをユーザーコントロールに移動し、ユーザーコントロール内で移動し、Object DataSourceのクラップを取り除き、背後にあるコードでバインディングを行います。

それだけでこのような状況で結合するように、あなたのバインドコードを書く:

if (this.isPostBack && ScriptManager.IsInAsyncPostback) 

次に、ページに、programaticlyページがロードされた後はJavaScriptを使用して更新パネルをリフレッシュし、あなたは、個々を取得しますグリッドビューレンダリングは一度準備ができました。

0

可視性をfalseに設定したパネル内にDataGridを配置し、パネルの可視性をtrueに設定するサーバー側の関数を呼び出す本体のonloadイベントからクライアント側のjavascript関数を呼び出すことができますか?

これをasp:updateProgressコントロールと組み合わせて、UpdatePanelですべてをラップすると、探しているものに近いものが得られるはずです。特に、onloadで呼び出されたjs関数をリギングしてパネルなど、次を示したリターン機能を呼び出す

関連する問題