DOBON.NET DOBON.NETプログラミング掲示板過去ログ

モーダルダイアログ内での処理

環境/言語:[.NetFramework2.0]
分類:[ASP.NET]

親画面より、モーダルダイアログを開き、その子画面での検索処理を
実施しています。

しかし、この子画面で検索実行を行い、ポストバックした結果が
新規ウィンドウで開いてしまいます。

これは回避できないのでしょうか?

ご教授宜しくお願いします。


【処理の流れ】
 親画面からJavaScriptの「window.showModalDialog」を使い、モーダルダイアログを開く。
 開かれた画面にボタンを配置し、検索処理のように通常のポストバックが起こる処理を記述。

 すると・・・処理結果がモーダルダイアログ内に表示されず、新規ウィンドウが
 開き、そちらに結果が出力される。
■No22154に返信(celestiaさんの記事)
> 親画面より、モーダルダイアログを開き、その子画面での検索処理を
> 実施しています。
>
> しかし、この子画面で検索実行を行い、ポストバックした結果が
> 新規ウィンドウで開いてしまいます。
>

javascriptだけで実装かな

ASP.NET 親画面と子画面のデータの受渡しについて
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19037&forum=7
> ASP.NET 親画面と子画面のデータの受渡しについて
> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19037&forum=7


ありがとうございます。
モーダルダイアログでのポストバックは不可能だったのですね。

子画面から親画面へJavaScript(window.returnValue)で返却することはわかっており、
既にできています。

説明がきちんと伝わっていなかったようなので、再度説明させて頂きます。


子画面から親画面への受け渡しではなく、

1.開いた子画面の中で検索処理を行い、検索結果を子画面内へグリッド表示

2.そのグリッド表示されたものから該当データを選択し、選択した値を
  親画面へ戻す

といった感じです。
2については、ご指摘の通りwindow.returnValueにて対応可能だと思いますが、
1の時にポストバックしたら新規画面が開いてしまうところをどうにかして
新規画面が開かずに検索実行が行いたいと思っています。
※フレームはできることなら使いたくない・・・

何か方法はございますでしょうか?
宜しくお願いいたします。
さらに調べてみましたが、<head>タグ内に下記を記述すれば、
モーダルダイアログ内でもポストバック処理が可能となりました。


<base target="_self" />



ありがとうございました。
解決済み!
■No22177に返信(celestiaさんの記事)
> さらに調べてみましたが、<head>タグ内に下記を記述すれば、
> モーダルダイアログ内でもポストバック処理が可能となりました。
> <base target="_self" />

私の読取り不足でした、こっち側情報を提示できればよかったのですね。

子画面でのpostbackで他の画面が開いてしまう
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20782&forum=7
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板