|
■No74057 (もりお さん) に返信 > ■No74050 (テンテン さん) に返信 > > あら。そうしますとあれですね。あれです。はい。 > > 状況を切り分ける必要がありそうですね。 > > 子画面から親画面のform1を参照できないみたいです。 > これがいま判明していることで、 > > 切り分けたいのは、 > 子画面から親画面のwindowオブジェクトを参照できないか、 > または、親画面でform1を参照できないか、 > といったところですね。 > > 確認の方法はalert関数で当該オブジェクトを出力すればわかります。 > > 子画面の方で > alert(window.dialogArguments) > で出力してみて > objectと出力されれば、子画面から親画面のwindowオブジェクトを参照できています。 > nullやundefinedと出力されれば、子画面から親画面のwindowオブジェクトを参照できていません。 > > 親画面の方で > alert(window.form1) > で出力してみて > objectと出力されれば、親画面のform1を参照できています。 > nullやundefinedと出力されれば、親画面のform1を参照できていません。 > > あとは、この結果に応じて策を講じればよいかと思います。 > > windowがNGで、form1がOKならば、 > windowオブジェクトの参照の仕方を見直す必要があります。 > > windowがOKで、form1がNGならば、 > form1の参照の仕方を見直す必要があります。 > > windowがOKで、form1がOKならば、 > 子画面から親画面のform1へのアクセスの仕方を見直す必要があります。 > > windowがNGで、form1がNGならば、 > 困ります! > > > こんな感じですかね。 > まずは状況を切り分けてみてはいかがでしょうか。 もりおさん回答ありがとうございます。 教えて頂いた方法で動作検証を行ってみました。
親画面(子画面に遷移するボタン) Dim scriptStr As String scriptStr = "<script type='text/javascript'>" scriptStr += "window.showModalDialog('子画面.aspx',window,'width=300,height=300');" scriptStr += "</script> ClientScript.RegisterStartupScript(Me.GetType(), "子画面", scriptStr)
親画面(教えて頂いた情報を出力するボタン) Dim scriptStr As String scriptStr = "<script type='text/javascript'>" scriptStr += "alert(window.form1);" scriptStr += "</script>" ClientScript.RegisterStartupScript(Me.GetType(), "子画面", scriptStr)
子画面(子画面を閉じるボタン) Dim scriptStr As String scriptStr = "<script type='text/javascript'>" scriptStr += "window.close();" scriptStr += "</script>" ClientScript.RegisterStartupScript(Me.GetType(), "親画面", scriptStr)
子画面(教えて頂いた情報を出力するボタン) Dim scriptStr As String scriptStr = "<script type='text/javascript'>" scriptStr += "alert(window.dialogArguments);" scriptStr += "</script>" ClientScript.RegisterStartupScript(Me.GetType(), "親画面", scriptStr)
上記の通りプログラムを記載し、実行しました処、下記のメッセージが出力されました。 親画面(教えて頂いた情報を出力するボタン)押下時 [object HTMLFormElement]
子画面(教えて頂いた情報を出力するボタン) [object Window]
上記の事からwindowがOKかつform1がOKなので子画面から親画面のform1へのアクセスの仕方を見直せばいいということでしょうか。
|