- PR -

[ASP.NET2.0]メイン画面から選択画面への画面遷移方法について

投稿者投稿内容
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-06-27 15:15
お世話になります。

以下のような画面遷移の場合についてご教授頂きたくお願い申し上げます。

-----------------------------------------------------------
画面A→画面B→画面A
という画面遷移をしたいのですが、
画面Bから画面Aに戻った時に画面Aの状態は
画面B遷移前の状態を保持したいんです。

いろいろ調べているとASP.NET2.0からMultiViewコントロールを
使用して一つのWEBフォームに画面A/Bを配置すれば可能で
あることが分かりました。

しかし、画面Bは他の画面(例えば画面C)からも遷移する
仕様になる可能性もあるので、別のWEBフォームにしたいんです。
-----------------------------------------------------------

こういった仕様を実現する方法はありますでしょうか?
Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2006-06-27 15:38
・画面Aから画面Bへ遷移するときにセッションに状態保持
 (テキストやチェックボックス等の内容全てを保存)
・画面Bから画面Aへ遷移するときに上記セッション情報があれば情報を設定、
 その後セッション情報破棄
 (セッションの内容をテキストやチェックボックス等に設定)

という流れではどうでしょう?

# あまりにも力技的な気がするのでもっとスマートな方法が他の識者から
# でることを期待します(^-^;)
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-06-27 15:42
Katze様

ご返答ありがとうございます。
私もこの方法を思いついたんですが、
あまりにも力技すぎて捨てたんです。

画面項目が少なければたいした問題にはならないと思うのですが、
50項目以上ある画面があったので・・・
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-06-27 15:46
必殺、別ウィンドウで画面Bを開く!

将来に渡って、画面A(もしくは画面Bを呼び出す奴ら)は、画面Bによって表示内容が変わるようなことは無いのでしょうか?
あるなら、Katzeさんの方法が良いと思います。

#この発想は、perl頭だからだろうか?w
Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2006-06-27 15:50
引用:

ともゆきさんの書き込み (2006-06-27 15:42) より:

私もこの方法を思いついたんですが、
あまりにも力技すぎて捨てたんです。

画面項目が少なければたいした問題にはならないと思うのですが、
50項目以上ある画面があったので・・・



やっぱりそうですよね
私も実際に100項目近くある画面を上記の方法で実現していますが、
もっとスマートにできる方法はないかと思ってました。
なにか良い方法があればいいのですが…
アルゴ
常連さん
会議室デビュー日: 2004/10/06
投稿数: 36
投稿日時: 2006-06-27 15:54
お世話になります。

セッションに保持するのがいいと思いますよ。
っていうか私は今までセッションに保持していました。w
セッション情報破棄は忘れずにw
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-06-27 16:17
R・田中一郎様
ご返答ありがとうございます。

>将来に渡って、画面A(もしくは画面Bを呼び出す奴ら)は、
>画面Bによって表示内容が変わるようなことは無いのでしょうか?
>あるなら、Katzeさんの方法が良いと思います。
実はあるんです。画面Bで選択した情報を画面Aに表示しないといけないんです。
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-06-27 16:18
Katze様

>やっぱりそうですよね
>私も実際に100項目近くある画面を上記の方法で実現していますが、
>もっとスマートにできる方法はないかと思ってました。
それぐらい項目が多いと、何か別のクラスに待避してセッションに格納しているのでしょうか?
WEBフォームそのものをセッションに格納することはできますでしょうか?

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