|
分類:[.NET 全般]
困っているので質問させていただきます。 GridViewで2つの動作をさせています。 1.ヘッダ行でソート 2.1つのセルをクリック→modalDialog起動→modalDialog終了→modalDialogの内容反映
2の実装を詳しく書くと、 modalDialogで内容更新をし、適応ボタンを押下すると、DBにその内容を反映し、Sessionにフラグを立ててmodalDialogを終了します。 modalDialogから戻ってきたら、GridViewのページでJavaScriptにより__doPostBackをコールし、 Page_LoadがコールされたらmodalDialogで立てたフラグをみて、立っていたらDBの情報を取得します。 そうすると、modalDialogで保存していたDB情報を取得できるため、modalDialogの内容がGridViewに反映されます。
ここで、1のヘッダ行のソートを行ったあとにIEの更新ボタンを押下すると、「情報を再送信しますか」のポップアップのあとにソートがされたGridViewが表示されるのにたいして、 2のmodalDialogの場合は、IEの更新ボタン押下で「情報を再送信しますか」ポップアップのあと、GridViewがmodalDialogの反映前の状態に戻ってしまいます。
明らかに__doPostBack('','')が原因だと思われます。 (ためしに、__doPostBack('','')ではなく、__doPostBack('GridView1','Sort$Header1')とすると(ヘッダに書かれていたものそのまま…)ソートされてしまいますが、modalDialogの内容は反映されています)
modalDialogから戻ってきたときにDBの内容を反映させたGridViewを表示したいのですが、 reloadも無理、__doPostBack('','')も無理だったので、行き詰っています。 Postする方法がわかりません。 ご存知の方がいらっしゃいましたら、ご教授をお願いします。
|