- PR -

画面間での値の受け渡し

1
投稿者投稿内容
rucio
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 98
投稿日時: 2004-10-10 22:09
こんにちは。皆さんのお知恵を是非貸してください。

ASP.NETでメイン画面と検索画面が次の関係にあるとき、検索画面の値をメイン画面で取得するにはどういった方法があるでしょうか?

・メイン画面も検索画面も同じプロジェクト上のaspx
・検索画面はメイン画面から別ウィンドウとして呼び出される。


やりたいことは、検索画面から検索した値を元の画面に返したいということなのですが、単純なページ遷移と違って、検索画面はメイン画面を呼び出さないのです。
この仕様自体に無理があるのでしょうか…?そのあたりもアドバイスうかがえたら助かります。

よろしくお願いします。
Ciao
会議室デビュー日: 2003/02/13
投稿数: 3
投稿日時: 2004-10-10 23:51
検索画面の値をメイン画面で取得するのではなく、あべこべに検索画面からメイン画面へ値を渡す、といことではいかがでしょう?

検索画面から window.opener でメイン画面を参照し適当なオブジェクトへ値をセットする、といった方法が考えられます。

但し、以下の条件が満たされればの話ですが。
1.ブラウザがIE。
2.検索画面はメイン画面から window.open で開かれる。
3.クライアントでjavascriptが有効になっている。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-11 17:12
 ブラウザはIEに特定されませんよ。ただし、属性の付け方、オブジェクトの探し方によってはIE限定になりますが。

 その他、検索画面でセッション変数に入れる、等の方法があります。


 上の方に「ディレクトリ」というリンクがありますが、ここから探していくと、似たような質問はいくつかあります。
_________________
rucio
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 98
投稿日時: 2004-10-11 20:21
Ciaoさん、Jittaさん、返信ありがとうございます。

ブラウザはとりあえずIEで動けば十分です。

>検索画面でセッション変数に入れる、等の方法があります。
そうなんですが、それをメイン画面の方で取得する方法がわからないのです。
そのとき、メイン画面の方で何かイベントでも発生してくれればよいのですが、ASP.NETの構造上それができずに悩んでいます。

>あべこべに検索画面からメイン画面へ値を渡す、といことではいかがでしょう?
検索画面からメイン画面を再度開くということですよね。
この場合、ユーザーがそれまでメイン画面に入力していた値をどこかに保存しておいて復元しなければなりませんよね。
しかし、やはりこういう方法しかないのであればそれをやるかもしれません。

私もいろいろ試していますので、また報告します。

引き続きアドバイスしていただければ幸いです。


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-11 21:55
 画面に、クライアント上で何らかの関係があれば、その関係をたどることで、オブジェクトを操作できます。たとえば、フレームに分かれているなら、openerからフレームをたどれます。しかし、全く何の関係もない画面、たとえば1枚の親から無限に作り出される子画面同士など、であれば、できません。
 フレームに分かれた別画面の操作や、子画面から親画面の操作をする方法は、過去ログにあります。一覧に戻って、上の「ディレクトリ」から参照してみてください。

#「情報を探す」技術も重要だと思います
#検索に必要な言葉もちりばめておきましたので、検索も活用してみてください
_________________
rucio
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 98
投稿日時: 2004-10-11 23:43
まだ少し試してみた程度ですが「opener」が使えそうです。
Jittaさんありがとうございます。

検索に必要な言葉がちりばめられていたので助かりました。

近いうちにまた報告します。
1

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