- PR -

別ウィンドウの値を渡す方法

1
投稿者投稿内容
あひる隊長
常連さん
会議室デビュー日: 2003/07/23
投稿数: 36
投稿日時: 2004-01-22 00:02
ASP.NETでWebアプリを作っているのですが、
仮に画面Aと画面Bがあってどちらもボタンがひとつと
テキストボックスがひとつあります。

画面Aのボタンが押下されたら
画面Bを別ウィンドウで表示するようにしています。
別ウィンドウの表示はJavaScriptのwindow.open()を使用しています。

それから画面Bのボタンを押下した時に、画面Bのウィンドウを閉じると
同時に画面B上のテキストボックスの値を画面Aのテキストボックスに
表示させたいのですが、画面Bのテキストボックスの値を画面Aに
どのように渡せば良いのでしょうか?

できれば画面Bのボタンが押された時に、画面AのPage_Loadが
走って、そこで値を取得できれば良いのですが、このような
ことは可能でしょか?

宜しくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-01-22 08:33
こんな感じ。

方法1:
フォームA:
・「初期化」時に、テキストボックスAのClientIDプロパティを、
 フォームBを開くためのスクリプトにクエリとして混ぜる
 buttonA.Attibute.Add("onclick", _
 string.format("window.open('....aspx?target={0}...", textboxA.ClientID)

フォームB:
・「閉じる」ボタンのイベントハンドラで、「閉じる」と「値を返す」
 スクリプトを登録する
 string.format("window.openner.Form1.{0}.value='{1}';", _
 request.querystring("target"), input-value)
 string.format("window.close();")
 registerstartupscript("closeevent", script)


方法2:
フォームA:
・ロード時に、クエリがあるかどうか調べ、処理を分ける

フォームB:
・「閉じる」ボタンのクリックで、フォームAをクエリストリング付きで
 再読み込み(移動)させるスクリプトを登録する
 略:window.opener.location.replace(url);
1

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