- PR -

別ページへのデータの引渡し

投稿者投稿内容
IMPREZA
ベテラン
会議室デビュー日: 2005/07/06
投稿数: 58
投稿日時: 2006-11-23 15:15
はじめまして。

現在、ASP.NETで開発を行っています。

そこでページ間でのデータの引渡しを行いたいのですが
引き渡したいデータはDataTableに格納したデータたちで
DataTableをそのまま引き渡したいと考えています。

SessionでDataTableを指定して引き渡すと、データは入っておりません。

列数は引き継いできているので、データだけが入ってないようです。

これは、もともとそのような仕様なのでしょうか?


どなたか教えて下さい。
宜しくお願いいたします。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-11-23 18:11
引用:

これは、もともとそのような仕様なのでしょうか?


いや、そういう仕様じゃないです。

ただ、型付 DataSet の DataTable は単独ではシリアル化不可だったはずなので、セッションを InProc 以外に保存しようとすれば不可能です。(.NET 2.0 からは可能になったかも)

まぁ、.NET Framework のバージョン、セッションの設定、具体的な処理もわからないのでこれ以上答えようがないですね。
_________________
囚人のジレンマな日々
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-11-23 20:32
インプロセスにしていて、データが大きすぎてプロセスがリスタートし、セッション情報が消えているとか。
_________________
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-11-23 23:03
型付データセット使ってて、セッションからデータを戻すときに適切なデータ型にもどしてないとか。
IMPREZA
ベテラン
会議室デビュー日: 2005/07/06
投稿数: 58
投稿日時: 2006-11-24 00:07
>囚人さん
>Jittaさん

InProcがよくわかっていないのですが
Session["DataTbl"] = データテーブル名(変数)と書いています。

少しだけ調べたらInProcは使わないで下さいという記述があり、
ちょっと怖いのですが。。。


>どっとねっとふぁんさん

戻すときは
データテーブル名 = (DataTable)Session["DataTbl"]
と書いているのですが、それだけではダメなんですか?


ちなみに環境ですが
VS2005 C#、 .NET Framework2.0、Sessionについての設定は何も変更してません。

処理は仮想データテーブルにデータを追加していき、
ボタンアクションで別ページに切り替えて、そのページ内で先に作成した仮想データテーブルをGridViewに当てはめたいと思っています。
イメージとしてはショッピングカートで、買うものリストを作成して、
確認ボタンでページを切り替えて、切り替わったページに確認画面を表示したい感じです。

ちょっと時間がないので、この件については今回は見送ろうと思っています。
時間が出来たときに、再度、チャレンジしてみたいと思っています。

ですが引き続き、ご教授いただければと思います。

よろしくお願いいたします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-11-24 00:12
これだけの情報しかないと、

> 処理は仮想データテーブルにデータを追加していき、

この時点でデータの行数は増やせているけど、データの中身が追加できて
いないのではないか、とか、いろんな想定ができるために話の絞りようが
ないですね。
何ができていて、何ができていないのか、もうちょっときちんと整理して
提示してもらえないときついかな。

囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-11-24 00:14
引用:

少しだけ調べたらInProcは使わないで下さいという記述があり、
ちょっと怖いのですが。。。


引用:

ちょっと時間がないので、この件については今回は見送ろうと思っています。
時間が出来たときに、再度、チャレンジしてみたいと思っています。


仕事でしょうか?「時間がない」という段階で InProc という概念が分かっていないというのはマズイと思うんですが…。

引用:

処理は仮想データテーブルにデータを追加していき、
ボタンアクションで別ページに切り替えて、そのページ内で先に作成した仮想データテーブルをGridViewに当てはめたいと思っています。
イメージとしてはショッピングカートで、買うものリストを作成して、
確認ボタンでページを切り替えて、切り替わったページに確認画面を表示したい感じです。


私の知識不足で申し訳ないですが、「仮想データテーブル」という概念がわかりません。

デバッグして、
引用:

Session["DataTbl"] = データテーブル名(変数)と書いています。


この瞬間にデータが入っていることは確認済みなんですよね?
_________________
囚人のジレンマな日々
IMPREZA
ベテラン
会議室デビュー日: 2005/07/06
投稿数: 58
投稿日時: 2006-11-24 12:36
すみません。
GridViewの定義が間違ってました。

申し訳ございませんでした。

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