showModalDialogで開いたダイアログ内でタイマーを使用した場合の閉じ方
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-20 11:49
お世話になります。
ASP.NET2005で作成しております。 showModalDialogでダイアログを表示させ、System.Timers.timer(AutoReset=false)を使用し、「処理中」のGIFアニメを表示後に重い処理を実施しております。 そこで重い処理の応答が帰ってきたら、window.closeで閉じたいのですが、別スレッドになっているためか、画面を閉じる事が出来ませんでした。 親画面側で閉じることを確認しておりますが、親画面で処理を継続していると、子画面の描画が始まらないため、子画面側で処理を行う必要があります。 ご助言を御願いします。 [親] window.showModalDialog('./CreateExcel.aspx', 'CreateStart',''); 開く window.open('about:blank','CreateStart','').close(); 閉じる #重い処理:編集不可のDLLのメソッドを使用 | ||||
|
投稿日時: 2008-11-20 13:37
showModalDialogで開いた画面って開いた画面からしか
閉じられないんじゃないでしょうか。
というか、これでは閉じることはできないと思います。 window.openとwindow.showModalDialogは違うものなので・・・。 Ajaxで処理させるとかしたらどうでしょう。 | ||||
|
投稿日時: 2008-11-20 14:24
返信有難う御座います。
開いた画面からは既に記述させて頂いたコードで閉じる事ができますが、 showModalDialogで開いている以上、子画面が閉じるまで親画面では操作できません。 "window.open('about:blank','CreateStart','').close();" AJAXは使用してはならないとの事でしたので質問させて頂きました。 画像はIMGタグで表示しており、定期的にOnloadが発生するため、ポストバックを行いwindow.closeを実施してみましたが、画面はcloseできませんでした。 | ||||
|
投稿日時: 2008-11-20 16:27
書いてある意味がさっぱりわからないのですが、
もう少し整理してみてもらえますか? モーダルダイアログの中で ・何を実行する? 待ち受けアニメはどーやって動かして、DLLはどこに関わってくる? ・URLは? 違うドメインの画面をモーダルダイアログで開いているのか? ・onload で定期的って何? 意味がわかりません。 ・window.close() はどこに書いているのか? ・モーダルダイアログとタイマーの関係は? | ||||
|
投稿日時: 2008-11-21 18:30
何れにせよ、Webでサーバサイドのタイマーを使うのは駄目でしょう。
魔法の杖シンドローム http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2002_07.html WebフォームでTimerを使用したい http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=35670&forum=7 ASP.NET 1.1 長い処理中に「お待ちください」画面を表示する http://blogs.wankuma.com/jitta/articles/19448.aspx [ メッセージ編集済み 編集者: todo 編集日時 2008-11-21 19:04 ] |
1