- PR -

ASP.NETでの画面遷移について

1
投稿者投稿内容
AYA
会議室デビュー日: 2002/10/29
投稿数: 10
投稿日時: 2002-10-29 14:59
ASP.NETの画面遷移について悩みがあります。

通常同じ画面を繰り返し呼び出す場合(postback)は、VIEWSTATEや、
POST値の自動解析などの機構のおかげでゴキゲンなのですが、他の
画面へ遷移して、元の画面に戻ってくるパターンの実装方法で悩んで
います。

例としては、検索結果一覧ページがあり、一覧テーブルの一行を
選択すると詳細画面へ移動するケースです。
詳細画面を見終わった後は、元の検索結果画面を表示するのですが、
前回入力したTextBoxの値や、ドロップダウンの選択行、テーブルの
選択行などをそのまま再現したいのです。

VIEWSTATEなどの機構は、このようなケース時には機能しません。
(と思うのですが・・・)

この機能を実現するには、すべてのコントロールの状態をセッション
などに保存すれば実現できる事はわかっているのですが、もし、
このような方法でしか実現できないのであれば、上記のようなケース
ではVIEWSTATEなどを利用して、前回の状態を復元できる機能がまったく
無意味になります。なぜなら、状態を復元するコードを自分で記述し
なければならないのであれば、そもそもVIEWSTATEを利用する必要性
がなくなるからです。
このようなパターンは業務系などでは結構頻繁にあると思うのです。

と、いうわけで、もっと良い方法があるのでは?と悩んでいる次第で
あります。せっかくなので?もっと楽がしたいのです。

皆さんはどのようなアイディアで実装されていますか?
そもそもASP.NETはそのようなデザインにしないほうがよろしいという
意見も大歓迎です。
一番うれしいのは、「実はこのようなケースに対応する方法があるの
だよ。」というものですが・・・
よろしくお願いします。
うりゅう
大ベテラン
会議室デビュー日: 2002/06/15
投稿数: 202
お住まい・勤務地: Hiroshima
投稿日時: 2002-10-29 20:30
邪悪な提案を申し上げます(笑)

Grid Layout Panelを使用して、検索結果一覧画面も、詳細画面も同じフォーム上に表示して、Visibleプロパティを切り替えることで、別のページに遷移しているように見せれば、非常に簡単に実現出来るかと思います。僕は、申し込み画面と申し込み確認画面みたいなケースではよく使っています。

デザイナ上でのレイアウトが難しければ、詳細画面は右の方に寄せておいて、CSSを使って、イチを動かすという方法もありかと。
_________________
--------------------------------------
ネットビルド 小田原貴樹
odahara@netbuiuld.jp
--------------------------------------
AYA
会議室デビュー日: 2002/10/29
投稿数: 10
投稿日時: 2002-10-29 23:06
お返事ありがとうございます。

さて、本題ですが、
ふむふむ・・・
>Grid Layout Panelを使用して、検索結果一覧画面も、詳細画面も同じフォーム上
>に表示して、Visibleプロパティを切り替えることで、別のページに遷移している
>ように見せれば、非常に簡単に実現出来るかと思います。僕は、申し込み画面と申
>し込み確認画面みたいなケースではよく使っています。
こ、これは・・・
目から鱗が落ちました。

グッドです。
とても現実的な回答だと思います。
とても気に入りました。

私は各画面をWebユーザコントロールで作成して、各ユーザコントロールの切り替えや、
値受け渡し機能をつけたPageクラスの派生クラスをWebフォームとして利用する方向で
検討してみようと思います。うまいこといくといいなぁ。
でも、バリデーションで問題になると思われるので、そこは一工夫しなければなりませ
んね。

大変ためになりました。
ありがとうございます。
うりゅう
大ベテラン
会議室デビュー日: 2002/06/15
投稿数: 202
お住まい・勤務地: Hiroshima
投稿日時: 2002-10-30 02:24
>私は各画面をWebユーザコントロールで作成して、各ユーザコントロールの切り替えや、
>値受け渡し機能をつけたPageクラスの派生クラスをWebフォームとして利用する方向で
>検討してみようと思います。うまいこといくといいなぁ。
>でも、バリデーションで問題になると思われるので、そこは一工夫しなければなりませ
>んね。

うぉ!(笑)すごいですね。オブジェクト指向の正統的な方法だと思います。うまくいったら是非、教えて下さい(笑)

正直、結構「ユーザコントロール」と「XML Webサービス」からは、ままならない現状の中で(笑)逃げている部分があるのですが、より本格的な開発には欠かせないのだろうなぁと思っています。

_________________
--------------------------------------
ネットビルド 小田原貴樹
odahara@netbuiuld.jp
--------------------------------------
1

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