- - PR -
framesetした画面のデータ受渡しについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-13 19:27
いつもお世話になっております。
VB.NETでWEBアプリケーションを作成しています。 A.aspxとB.aspxをframesetを使用して一つの画面に表示しています。 A.aspxとB.aspxにはそれぞれTextBoxが配置してあります。 A.aspxにはコマンドボタンがあり、このボタンを押すと A.aspxのTextBoxの値をB.aspxのTextBoxにセットしたいのですが やり方が分かりません。 教えて下さい。宜しくお願いします。 | ||||||||
|
投稿日時: 2006-04-14 09:08
いくつかやり方があると思います。
1.B.aspx から A.aspx をリロードさせてサーバで A.aspx の値を書き換える 2.B.aspx の ボタンクリック時に A.aspx のテキストボックスの値を書き換える どちらにせよ JavaScript での制御になると思うので まず静的な HTML で考えてみると良いと思います。 | ||||||||
|
投稿日時: 2006-04-14 10:03
JavaScriptで
window.parent.B.aspxを表示しているフレームのID.B.aspxのフォームID.B.aspxのTextBoxのID.value = A.aspxのフォームID.A.aspxのTextBoxのID.value; をA.aspxのボタンクリックイベントに設定 # IE限定?(IE7は未検証) | ||||||||
|
投稿日時: 2006-04-14 18:13
Katzeさん、かるあさん、ありがとうございます。
JavaScriptで対応できました。 違う質問なんですが B.aspxにはSUBプロシージャやFunctionプロシージャがあります。(VB.NET) B.aspxのTextBoxに値がセットされたら B.aspxのVB.NETのプロシージャを実行させたいのですが分かりません。 教えて下さい。宜しくお願いします。 | ||||||||
|
投稿日時: 2006-04-15 00:26
この場合セットとは何ですか? ユーザが何かキーを入力したとき? それともJavaScriptで値を設定したとき? JavaScriptで値を設定したときならばそのタイミングでリロードすればいいのかな | ||||||||
|
投稿日時: 2006-04-17 10:35
JavaScriptで値を設定したときです。
下記のようなかんじでA.aspxのテキストボックスから B.aspxのテキストボックスに値をセットしました。 これはB.aspxのButton_Clickに記述しました。 Dim startupScript As String Dim strScript As String strScript = " parent.BFrame.document.BForm.Text1.value = parent.AFrame.document.AForm.Text1.value;" startupScript = "<script language='JavaScript'> " + strScript + "</script>" RegisterStartupScript("set", startupScript) この後に続けて Call RUN(Me.Text1.value) としてRUNプロシージャを実行したいのですが Text1.valueを取得できません。 何かいい方法はないでしょうか? 教えて下さい。宜しくお願いします。 | ||||||||
|
投稿日時: 2006-04-17 13:56
strScript の記述の後にフォームをリロードしたり、サブミットしたり、 もしボタンが配置されているのであれば、クリックしたりする処理を記述すれば どうにかなりませんか? | ||||||||
|
投稿日時: 2006-04-17 14:10
かるあさん、ありがとうございます。
他のサイトやら参考書やらで、いろいろ検討してみました。 <Form></Form>のonsubmitイベントでテキストボックスに値をセット したところ、とりあえずうまくいきました。 こんな方法で良かったのか疑問が残るのですが とりあえず、これで対応したいと思います。 他にいい方法が見つかれば修正したいと思います。 |