1

aspxページに4つのGridViewを設定する必要がありますが、ページの読み込み時にデータテーブルをそのうちの1つにバインドするだけです。ページの読み込み後に他の3つをpupupする必要があります。

誰かがajaxを使用してこれを行うための最良の方法を知っていますか?

現在、3つのGridViewを生成するボタンでjavascriptを使用して__doPostBackを実行していますが、残念ながら、更新パネルを使用している場合でも、これによりページ全体が強制的に読み込まれます。ページをロードし、データテーブルが返されるときにGridViewにデータを入力する必要があります。

どんな提案も大いに評価されるでしょう。

4

2 に答える 2

2

$( "#targetDiv")。load( "contentUrl");を介してjqueryを使用してdivにデータを入力しますが、これを行う方法は問題なく機能するはずです。関数はそれを行うためのよりクリーンな方法かもしれません。とにかく、現在の実装を機能させるために、あなたが見たいことがいくつかあるかもしれません:

  1. ScriptManagerでEnablePartialRenderingがtrueであると思います(常に確認する価値があります!)。
  2. __dopostback呼び出しのeventTargetが、更新パネルの非同期トリガーとして設定されていること、または1つのUpdatePanelのみを使用している場合はUpdatePanel内にあることを確認してください。(詳細はこちらをご覧ください
  3. これをボタンにアタッチしている場合は、onclickイベントハンドラーで実行されるjavascriptコードからfalseを返して、ボタンをクリックしたときにブラウザーによってフォームが正常に送信されないようにしてください。
于 2009-04-16T12:44:57.583 に答える
0

質問を正しく理解している場合は、ページがブラウザに表示された後にデータをロードする必要があります。この場合、ページがクライアントに読み込まれたときにJavaScriptを使用してイベントを発生させることができます。

私が使用した方法の1つは、ページに非表示の(CSSを使用し、プロパティは使用しない)ボタンを配置し、JavaScriptで「クリック」することです。ボタンクリックイベントのイベントは、ページのコードにワイヤリングする必要があります。また、ボタンは、バインドするグリッドが含まれているか、グリッドをリロードするための適切なトリガーがある更新パネルにある必要があります。

このコードが実行されたときに管理するためにJQueryを見るかもしれません。$(document).ready(function(){/*ここにあなたのコード...* /}); メソッドは、DOM全体が使用可能になった後に起動します。これは、ページ全体(画像など)の読み込みを待つよりも高速です。

于 2009-04-16T12:29:59.630 に答える