- - PR -
ASP.NETでの画面遷移について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-10-29 14:59
ASP.NETの画面遷移について悩みがあります。
通常同じ画面を繰り返し呼び出す場合(postback)は、VIEWSTATEや、 POST値の自動解析などの機構のおかげでゴキゲンなのですが、他の 画面へ遷移して、元の画面に戻ってくるパターンの実装方法で悩んで います。 例としては、検索結果一覧ページがあり、一覧テーブルの一行を 選択すると詳細画面へ移動するケースです。 詳細画面を見終わった後は、元の検索結果画面を表示するのですが、 前回入力したTextBoxの値や、ドロップダウンの選択行、テーブルの 選択行などをそのまま再現したいのです。 VIEWSTATEなどの機構は、このようなケース時には機能しません。 (と思うのですが・・・) この機能を実現するには、すべてのコントロールの状態をセッション などに保存すれば実現できる事はわかっているのですが、もし、 このような方法でしか実現できないのであれば、上記のようなケース ではVIEWSTATEなどを利用して、前回の状態を復元できる機能がまったく 無意味になります。なぜなら、状態を復元するコードを自分で記述し なければならないのであれば、そもそもVIEWSTATEを利用する必要性 がなくなるからです。 このようなパターンは業務系などでは結構頻繁にあると思うのです。 と、いうわけで、もっと良い方法があるのでは?と悩んでいる次第で あります。せっかくなので?もっと楽がしたいのです。 皆さんはどのようなアイディアで実装されていますか? そもそもASP.NETはそのようなデザインにしないほうがよろしいという 意見も大歓迎です。 一番うれしいのは、「実はこのようなケースに対応する方法があるの だよ。」というものですが・・・ よろしくお願いします。 |
|
投稿日時: 2002-10-29 20:30
邪悪な提案を申し上げます(笑)
Grid Layout Panelを使用して、検索結果一覧画面も、詳細画面も同じフォーム上に表示して、Visibleプロパティを切り替えることで、別のページに遷移しているように見せれば、非常に簡単に実現出来るかと思います。僕は、申し込み画面と申し込み確認画面みたいなケースではよく使っています。 デザイナ上でのレイアウトが難しければ、詳細画面は右の方に寄せておいて、CSSを使って、イチを動かすという方法もありかと。 _________________ -------------------------------------- ネットビルド 小田原貴樹 odahara@netbuiuld.jp -------------------------------------- |
|
投稿日時: 2002-10-29 23:06
お返事ありがとうございます。
さて、本題ですが、 ふむふむ・・・ >Grid Layout Panelを使用して、検索結果一覧画面も、詳細画面も同じフォーム上 >に表示して、Visibleプロパティを切り替えることで、別のページに遷移している >ように見せれば、非常に簡単に実現出来るかと思います。僕は、申し込み画面と申 >し込み確認画面みたいなケースではよく使っています。 こ、これは・・・ 目から鱗が落ちました。 グッドです。 とても現実的な回答だと思います。 とても気に入りました。 私は各画面をWebユーザコントロールで作成して、各ユーザコントロールの切り替えや、 値受け渡し機能をつけたPageクラスの派生クラスをWebフォームとして利用する方向で 検討してみようと思います。うまいこといくといいなぁ。 でも、バリデーションで問題になると思われるので、そこは一工夫しなければなりませ んね。 大変ためになりました。 ありがとうございます。 |
|
投稿日時: 2002-10-30 02:24
>私は各画面をWebユーザコントロールで作成して、各ユーザコントロールの切り替えや、
>値受け渡し機能をつけたPageクラスの派生クラスをWebフォームとして利用する方向で >検討してみようと思います。うまいこといくといいなぁ。 >でも、バリデーションで問題になると思われるので、そこは一工夫しなければなりませ >んね。 うぉ!(笑)すごいですね。オブジェクト指向の正統的な方法だと思います。うまくいったら是非、教えて下さい(笑) 正直、結構「ユーザコントロール」と「XML Webサービス」からは、ままならない現状の中で(笑)逃げている部分があるのですが、より本格的な開発には欠かせないのだろうなぁと思っています。 _________________ -------------------------------------- ネットビルド 小田原貴樹 odahara@netbuiuld.jp -------------------------------------- |
1