前提・実現したいこと
親画面(A)の中にiFrame(A')があり、
画面A'に配置されたボタンを押すと、
画面Bがモーダルで起動されます。
画面Bの中にもiFrame(B')があるのですが、
画面B'に配置されたボタンを押すと
画面A'を更新して、画面Bを閉じたい。
C#.NETで開発しています。
上記の動作を実現させたいのですが
なかなかうまくいきません。
該当のソースコード
[画面A'の.netソース(モーダル画面起動するところ)]
string strScript = "window.showModalDialog('./B.aspx', window, 'dialogWidth=800px; dialogHeight=160px; dialogLeft=300px; dialogTop=400px;');"; Page.ClientScript.RegisterStartupScript(this.GetType(), "OpenBWindow", strScript, true);
[画面B'の .netソース(画面A'のリロード処理を実行し、閉じるところ)]
//string strScript = "window.dialogArguments.location.reload(true);"; //(1) //string strScript = "window.dialogArguments.document.getElementById('FrmLvwRecipe').contentDocument.location.reload(true);";//(2) //string strScript = "window.parent.opener.document.getElementById('FrmLvwRecipe').contentDocument.location.reload(true);";//(3) //string strScript = "dialogArguments.test();";//(4) Page.ClientScript.RegisterStartupScript(this.GetType(), "WindowClose", strScript, true);
[画面A'の javascriptソース(リロード処理)]
function test() { alert("!!!!!"); window.location.reload(true); }
B画面側の.netソースは上記で
(1)~(3)のいずれも動作しません。
(4)は画面A'にjavascriptでtestという関数を作り
test内で画面更新とアラート表示をしたのですが
画面A'はリロードはされず、アラート表示だけできたので
test関数をコールしてはいるようなのですが。。。
問題の発生した環境
OS:Windows10
IE:11.864
MicrpspftVisualStudioCommunity2019:16.1.4
Microsoft.NETFrameworrk:4.8.03761
回答1件
あなたの回答
tips
プレビュー