- - PR -
DataSetを複数Webフォームで共有するには
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-07-14 19:09
はじめまして、WhiteDogと申します。
WebフォームAでDBにアクセスし、そこで得たデータを保持したDataSetを、遷移後のWebフォームBで参照したいと思っています。 (具体的には、AでDataGridに表示し、その中のHyperLinkの項目をクリックすると、 Bに遷移して選択されたデータを更新したい) ・Context.Items.Add & Server.Transferを使用する ・WebフォームAで、DataSetを持つクラスを作成し、WebフォームBで見るようにする というのを試したのですが、どちらもWebフォームBでは空のDataSetになってしまっています。 (Tableの項目は得られているが、中身がからっぽ) WebフォームAで、クラスをFriend Sharedにしたところ、中身も参照できたのですが、 Sharedは使用しないほうがよいという情報を見ました。 Sharedを使用せずに、別WebフォームでDataSetの値を使用するにはどうすればよいのでしょうか? よろしくお願いします。 |
|
投稿日時: 2003-07-14 19:28
Context.Itemsでもできるような気もするのですが、自分は、
Server.Transferして、遷移先のページでContext.Handlerを 前ページのクラス型でキャストして、プロパティで取得したりしています。 |
|
投稿日時: 2003-07-15 10:08
Sessionオブジェクトを使いましょう。
|
|
投稿日時: 2003-07-15 10:53
こんにちは。
マスターDBなら、ApplicationやCacheを利用してみるのもいいと思います。 トランザクションDBならやっぱり、Sessionオブジェクトですね。 厳密に言うと、状況によってどれを利用するかは開発時に判断してください。 それには、Application、Cache、Sessionの性質を理解する必要がありますが。。 |
|
投稿日時: 2003-07-15 12:01
アドバイスありがとうございました。>いしさん、小野さん、ネームスペースさん
Context.Handlerでもセッションオブジェクトでもやはり中身が渡らず、 根本的にどこかが間違っていると思ったら、元Webフォーム上でボタンを二度押していたのが 原因でした・・・・(一つ目のボタンでDataGridに書き出し、二つ目のボタンで 次のWebフォームに遷移するようにしていた) ページの先頭でPublic ds As New DataSetしているのだから、それは当然中身が空になりますよね・・・・・・・(Tableの項目は渡せているところで気づくべきでした・・・) 一つ目のボタン内でセッションオブジェクトに格納したところ、無事に次のWebフォームへ 値を引き継ぐことができました。 Webアプリケーションの開発は初めてで、基礎的なことをまだまだ理解できていませんでした。 こんな内容で申し訳ありません・・・。 Application、Cache、Sessionの違いもわかっていませんので、これから勉強します。 本当にありがとうございました。 |
1