- PR -

Webフォーム間でのデータの受け渡し方

1
投稿者投稿内容
キヨ
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 65
投稿日時: 2004-09-01 22:32
こんにちは。

質問ですが、
現在、ASP.NETで開発を行っていて
Webフォーム間でのデータの受け渡し方が分からなく
どなたか、知っている方教えてください。

例)WebForm1.aspxにtxtBox1.txtのコントロールがあり、
WebForm2.aspxにtxtBox2.txtのコントロールがあるとします。

WebForm2.aspxで

dim Web1 as New WebForm1

txtBox2.text = Web1.txtBox1.text
みたいな事はできないのでしょうか?

いろいろなメソッドを試していますが、できません。
よろしくお願いします。


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-09-02 06:25
 同じ内容の質問は、過去にたくさんあります。スレッド一覧画面の上にある「スレッドディレクトリ」や、右上にある「検索」をすると、いくつか出てきます。

 Web画面では、1ページごとにリクエストの実行が終わると、オブジェクトはすべて破棄されます(厳密には、破棄されるタイミングは不明ですが)。したがって、サーバサイドで値の受け渡しはできません。よって、クライアントサイド、スクリプトにて行います。
 スクリプトで行うには、画面が親子関係にある必要があります。JavaScript関係で検索してみても、見つかると思います。


ついでに、
public sub hoge_method()
 dim webForm1 As New Form1
...
end sub
のように、宣言時にNewすると、それは別のオブジェクトになります。Windows Formでも、そういうことをすると参照できません。

[ メッセージ編集済み 編集者: Jitta 編集日時 2004-09-02 06:27 ]
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-09-02 10:04
webFrom1とwebForm2がフレームや親子関係で同時にクライアント側に表示されており、その間で値のやり取りを行いたいというのであれば、Jittaさんの言われるようにクライアントスクリプトで実装するしかありません。

そうではなく、webForm1からポストバックしたときに、TransferやRedirectによりwebForm2に画面を遷移させ、そこでwebForm1で入力された値を使用したいというのであれば、ポピュラーなやり方としてはwebForm1の処理でセッション変数に値を格納して、webForm2でセッション変数から取り出すというやり方になります。

またTransferを使っているのであれば、webForm2(遷移先)からwebForm1(遷移元)のオブジェクトを扱う方法が@ITさんのプログラミングASP.NETの中で紹介されています。
(http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet16/aspnet16_01.html)
キヨ
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 65
投稿日時: 2004-09-03 00:43
返答ありがとうございます。

Session変数で実現出来ました。

今後ともよろしくお願いします。
1

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