- PR -

ASP.NET 親画面の裏に子画面が移動してしまう。

投稿者投稿内容
あっしゅりん
会議室デビュー日: 2006/10/24
投稿数: 6
投稿日時: 2006-10-24 11:38
皆さんはじめまして。

.net framework 2.0
ASP.NET、VB.NETを使用して、Webアプリケーションを作成しています。
マスターページを利用したWeb画面で、子画面を表示し
子画面の内容をデータベースに登録すると親画面の後ろに子画面が
隠れてしまいます。
PostBackされると移動してしまうようです。ただボタンを貼り付けて
クリックしても親画面の後ろに隠れてしまうので。

子画面の呼び出しには
window.open(url, name, style)全てのパラメータを設定しています。
また、他の質問でみた
target属性もいろいろ試したんですが、うまくいきませんでした。
<base target=とか、<form target=とか

原因がわかるかた、同じような症状で解決策がわかったかた
教えていただけないでしょうか。よろしくお願いします。


[ メッセージ編集済み 編集者: あっしゅりん 編集日時 2006-10-24 11:45 ]
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-10-24 12:43


[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 21:39 ]
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-10-24 12:56
showModalDialog を使ってはどうでしょうか。

参照
ttp://www.openspc2.org/reibun/javascript/window/004/

[ メッセージ編集済み 編集者: あすか 編集日時 2006-10-24 12:59 ]
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-10-24 13:10
親画面から、window.openで子画面を呼び出し、子画面でポストバックすると子画面が親画面の後に隠れる。
ということですか?隠れるというのはブラウザのウインドウの話ですよね?

問題発生の最小要件を確認したいです。

引用:
マスターページを利用したWeb画面で、子画面を表示し
子画面の内容をデータベースに登録すると親画面の後ろに子画面が
隠れてしまいます。

マスターページを使っているのは親画面?子画面?両方?
マスターページを使わない場合は隠れないのですか?

引用:
PostBackされると移動してしまうようです。ただボタンを貼り付けて
クリックしても親画面の後ろに隠れてしまうので。

つまり、データベース登録は関係ないのですか?

引用:
子画面の呼び出しには
window.open(url, name, style)全てのパラメータを設定しています。

ただwindow.open(url);とした場合には発生しないのですか?
window.open(url);を実行しているのはWebコントロール?htmlコントロール?
(つまりポストバックを伴うのかという話です)
あっしゅりん
会議室デビュー日: 2006/10/24
投稿数: 6
投稿日時: 2006-10-24 13:17
引用:

ぜうすさんの書き込み (2006-10-24 12:43) より:
<body onload="this.focus();"...
なんて手は駄目?



返答ありがとうございます。
やってみます。
あっしゅりん
会議室デビュー日: 2006/10/24
投稿数: 6
投稿日時: 2006-10-24 13:21
引用:

あすかさんの書き込み (2006-10-24 12:56) より:
showModalDialog を使ってはどうでしょうか。

参照
ttp://www.openspc2.org/reibun/javascript/window/004/

[ メッセージ編集済み 編集者: あすか 編集日時 2006-10-24 12:59 ]



返答ありがとうございます。
showModelessDialogだと後ろに隠れないでできています。
showModalDialogも試してみます。
出来れば、ダイアログにはしたくないですね。


[ メッセージ編集済み 編集者: あっしゅりん 編集日時 2006-10-24 13:34 ]
Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2006-10-24 13:22
ASP.NET2.0は使用したことがないのではずしていると思いますが、
1.1使用時はSmartNavigation=Trueの場合にそのような現象が発生したので、SmartNavigationがTrueであればFalseにしてみれば直るかも?
あっしゅりん
会議室デビュー日: 2006/10/24
投稿数: 6
投稿日時: 2006-10-24 13:32
返答ありがとうございます。

引用:

べるさんの書き込み (2006-10-24 13:10) より:
ということですか?隠れるというのはブラウザのウインドウの話ですよね?



はい、ブラウザのウィンドのことです。

引用:
マスターページを使っているのは親画面?子画面?両方?
マスターページを使わない場合は隠れないのですか?



マスターページを使わないで、隠れるかどうかは試していません。
試してみます。

引用:

つまり、データベース登録は関係ないのですか?



はい、データベース登録処理は関係ないようです。
ページのPostBackに反応して、子画面が後ろに隠れてしまいます。

引用:

ただwindow.open(url);とした場合には発生しないのですか?
window.open(url);
を実行しているのはWebコントロール?
htmlコントロール?
(つまりポストバックを伴うのかという話です)



2つのパターンで試しています。
1、window.openはaspxにjavascript関数として書いてあります。
子画面を呼び出すアクションは、Webコントロールのボタンで実行
されます。PostBackはしません。

2、Webコントロールのボタンの、OnClientClickに
window.open(url);を登録して、PostBackありで
実行しています。

1で、window.open(url);のみで試してみます。
2で、PostBackなしで試してみます。AutoPostBack=Falseで

スキルアップ/キャリアアップ(JOB@IT)