- PR -

ページ遷移時の値の引渡しについて

1
投稿者投稿内容
JACK780
会議室デビュー日: 2006/08/12
投稿数: 3
投稿日時: 2006-08-12 23:08
お世話になっております。

ASP.NET(C#)でWebアプリケーションを開発しています。
2画面間のページ遷移時に、以下の処理を実装しようと思いますが、
良い実現方法がわかりません。

■処理フロー
(1)画面AのTEXT項目に値を入力した後、ボタン押下時に画面Bへ遷移
(2)画面B上で戻るボタンを押下し、画面Aを表示する
(3)画面A上の入力項目には、既に入力済みの値が自動的に設定されている

Sessionオブジェクトを利用すれば、値の引渡しを行えますが、
画面上の項目が多数ある場合、その分の数のSessionオブジェクトを使用しなければ、
ならないのでしょうか?

ご教授のほど、よろしくお願いします。
がんふぃーるど
ベテラン
会議室デビュー日: 2006/06/05
投稿数: 58
お住まい・勤務地: さいたま
投稿日時: 2006-08-12 23:30
>(2)画面B上で戻るボタンを押下し、画面Aを表示する
方法はいくつかあるのですが、戻る時にhistory.back()を使用すれば、
画面Aに値を入力してある状態に戻れます。

Sessionを使用する場合は、
>画面上の項目が多数ある場合、その分の数のSessionオブジェクトを使用しなければ、
>ならないのでしょうか?
そうですね。項目数分のオブジェクトをSessionに格納することになります。
項目を全て定義してあるデータクラスを作成して、そのオブジェクトをSessionに
格納しても良いです。

#誤字脱字が・・・

[ メッセージ編集済み 編集者: がんふぃーるど 編集日時 2006-08-12 23:31 ]
JACK780
会議室デビュー日: 2006/08/12
投稿数: 3
投稿日時: 2006-08-13 17:30
がんふぃーるどさん ご返答ありがとうございます。

history.back()を使用すれば、確かに可能ですね。
C#ではhistory.back()に対応するものは、あるでしょうか?
例えば次の処理、

(1)画面B上にあるGridViewの選択ボタンをクリックして、該当する行データの値を画面Aへ渡す
(2)画面Aは値を入力してある状態のまま、画面Bからの値を設定する

この場合だと、データクラスを作成して、Sessionに格納する方が
良いのでしょうか?



べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-08-15 22:28
引用:
history.back()を使用すれば、確かに可能ですね。
C#ではhistory.back()に対応するものは、あるでしょうか?

対応するというか、javascriptでhistory.back()するだけのボタンか何かを用意したらどうか、
ということですね。javascriptはクライアントコードでC#はサーバーコードですから。
ブラウザの[戻る]ボタンを押すのと変わらないと考えるべきでしょう。

引用:
(1)画面B上にあるGridViewの選択ボタンをクリックして、該当する行データの値を画面Aへ渡す
(2)画面Aは値を入力してある状態のまま、画面Bからの値を設定する

これは少し意味がわかりにくいのですが、画面Aには入力する部分とデータ表示部分みたいのが
あって、入力部分は先に入力した値を保持し、データ表示部には画面Bで選択したものの
データを表示するということですか?その場合だとhistory.back()で実現するのは難しい
でしょうね。おっしゃるとおり「データクラスを作成して、Sessionに格納する」が楽かなと思います。

2005(.NET2.0)でやっているなら一応こんな方法もありますが。
1

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