• ベストアンサー

web developerのデータ保持について

 Visual Studio 2010でWebアプリケーションを作成しているのですが、データテーブルからのデータを代入した変数のデータを保持する仕方が分かりません。  アプリケーション変数かセッション変数を使えば、datatableのデータ保持ができそうだと思ったのですが、使い方がいまいち分かりません。  どなたか詳しい方おられましたら、回答のほどよろしくお願いいたします。

  • 1394
  • お礼率74% (40/54)

質問者が選んだベストアンサー

  • ベストアンサー
  • onos
  • ベストアンサー率81% (127/155)
回答No.3

自分が実装するなら、 最初のボタンクリック時に選択された「日付のデータ」のみをViewStateを使って保存。 2回目のボタンクリック時は、ViewStateから取り出した日付のデータからseries1のデータを作成、 また、このタイミングで選択されている日付からseries2のデータを作成。 で、series1、2のデータからグラフを作成。 こんな感じにするかなぁ。 最初のデータそのものを保持しておく必要はないと思いますので。 一般的にはセッションを使うとこでしょうけど、同じページ内での操作なのでViewStateを使っても いいと思います。

1394
質問者

お礼

onosさん。 度々の回答に感謝いたします。 todo36さんも挙げておられたViewStateで、onosさんの説明を参考にさせていただきながら、やってみようと思います。 毎回の丁寧で分かりやすいご回答本当にありがとうございます。 また分からないところがあれば質問させていただくと思いますが、その時はよろしくお願いいたします。

その他の回答 (2)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

ViewStateオブジェクト Sessionオブジェクト クッキー クエリ文字列 Cacheオブジェクト データベース 静的変数 状況によって使い分ける。 http://www.atmarkit.co.jp/fdotnet/entwebapp/entwebapp03/entwebapp03_01.html

1394
質問者

お礼

todo36さん。 回答してくださり、ありがとうございます。 todo36さんのおっしゃるとおり、状況によって使い分けられるようにもう少し調べようと思います。 参照URLまで載せていただき丁寧な回答に感謝いたします。

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

えと、Webアプリの場合、できるだけサーバ上に値を持たないのが基本です。 どうしても必要な最小限のデータを持つようにしましょう。 という前提のうえで。 アプリケーション変数はWebアプリ全体で保持する変数です。 Webアプリは複数の人が同時に利用しますから、利用する人すべてに同じ値が見えることになります。 セッション変数はセッションという単位で保持されます。 通常は利用する人毎、と考えてよいですが、セッションを維持するにはサーバ側の設定とブラウザ側の設定(一般的にはクッキーを利用)があるので、このあたりの設定によって変わることがありえます。 データベースから取得したデータを保持したい、とのことですが、アクセスの都度データベースからデータを持ってくる、というのも一つの方法として考えていいと思います。

1394
質問者

補足

onosさん。 回答していただきありがとうございます。 動作としては、 (1)カレンダーから日付を選びButton1を押すことでデータベースからその日付のデータを取り込み、それをソースとしてグラフ1を生成する。(series1) (2)そして新たにまたカレンダーから日付を選びButton1を押すことで、データベースから先ほどとは異なる日付データ(x軸、y軸は同じ)を取ってきて、それをグラフ1にseries2として追加し、比較を行う。 ということを行いたいと思っています。 今は(1)までは出来ていて、(2)はseries2は追加できるのですが、series1,2の両方とも後から追加したデータのグラフになり、比較することができません。 onosさんが書き込んでくださった >アクセスの都度データベースからデータを持ってくる という方法で上記のことは行うことができるでしょうか? また、上記のことを行うにはアプリケーション変数やセッション変数ではなく別のものを使うのではないかと、調べているうちに思ったのですが、この辺りもどうなのか教えていただければと思います。 色々書いてしまいましたが、よろしくお願いいたします。

関連するQ&A

  • Sessionのデータ保持について

    Sessionにデータを保持している状態で、Webサーバーのシステム日付(日時)を変更した場合、上記Sessionに保持しているデータが消えてしまうということはありますか? 現在私が行っている開発環境にてデバッグしてみると、上記現象(Sessionの中身がnull)を確認することができたのですが、原因が不明です。 【再現手順】 (1)Sessionにデータを格納(何でもOK) (2)Webサーバーのシステム日付(日時)を変更 (3)上記(1)で格納しているSessionからデータを取り出す  ⇒上記(3)のタイミングでオブジェクト参照がnullとなります。 もし上記の原因と解決方法がありましたら、教えて頂ければ幸いです。

  • Visual Web Developer Express Edition で作成したWebアプリケーションについて

    「Visual Web Developer 2005 Express Edition」でWebアプリケーションを作成し、Webサーバーに配置しようとしたところで躓きました。 ヘルプを見ると「Web サイトの発行ユーティリティは、Visual Web Developer Express Edition では使用できません。」となっていますが、もしかして「Express Edition」ではアプリケーションの公開ができないということでしょうか? そこそこ時間をかけて作成しており、やっと完成したところなので無駄にはしたくありません。 ちなみに社内用に作成したWebアプリケーションで、外部公開用ではありません。 何か方法はありませんでしょうか? 宜しくお願いします。

  • セッション変数にパスワードを保持しても良い?

    ユーザーログイン機能について、取得した全てのDBユーザーテーブル情報を、セッション変数$_SESSION['★★']に格納しているサンプルコードがありました(2つ程見かけました) ■質問 ・セッション変数にパスワードを保持しても良いのでしょうか? ・生成した予測不能な文字列(セッションキー?)が破られたらどうしようもないので、そういう意味ではセッション変数には何を保存しても良いのでしょうか? 単に保存先が、セッション変数かDBかの違いでしかない? ・あるいは、セッション変数には必要最低限なもの、もしくはセキュテリティに関係ないもの、のみ保存して、その都度DBに問い合わせた方が良いのでしょうか? でも、これって非効率的?

    • ベストアンサー
    • PHP
  • セッションにはどんなデータを保存するべきか

    セッションにどんなデータを保存していいのかよくわかりません。 私はセッションというのはプログラムでいうところのstatic変数みたいな物かと考えているのですが、 この認識であっているでしょうか? 具体的にはセッションにはユーザID等のWebシステム上全体で保持するべき値のみが許されて、A,B,Cの3つの画面間でのみ共有するような値はセッションに保存してはいけないという具合です。 抽象的な質問ですが、よろしければご回答下さい。

  • 現在Visual Web DeveloperにてWEBから個人情報をデ

    現在Visual Web DeveloperにてWEBから個人情報をデータベースに登録できるページを作成しております。 ASP.NET、C#です。 1.利用者がWEB入力フォームから氏名や生年月日を入力し、登録ボタンを押下する。 2.入力値にエラーがあれば、画面は遷移せず、テキストボックスの横にエラー内容を表示。 3.エラーがなければ、Sessionで次のページに入力データを受け渡す。 4.次の画面では入力データを一覧で表示し、ユーザーに確認させる。 5.OKボタンでデータベースに登録。戻るボタンで入力値を保持して前ページに遷移。 というのがメインの流れなのですが、困っていることがあります。 入力値にエラーがあり、2の処理が実行されたあと、適切な値を入力して再度登録ボタンを 押下するともちろん次ページへ遷移します。 その時、戻るボタンを押すと、入力データは保持されたままなのですが、エラーメッセージ も訂正前のが表示された状態になっています。 戻るボタンにはonClick='history.back()'を設定しています。 登録ボタンを押下したとき、遷移前にエラーメッセージを初期化("")しているのですが、 上手くメッセージが消えてくれません。 WEBフォームでの開発は始めてで、セッションの概念が勉強不足です。 何か参考になるページor方法をご存知の方がおられましたら、ご教授ください。 以上、宜しくお願いします。

    • 締切済み
    • CSS
  • ASP.NETのWEB画面

    ASP.NETでWEB画面作成しているのですが、かなり遅いです。 早くする方法があれば教えて下さい。 「Visual Studio 2003」と「Visual Studio 2005」を使っています。 どちらで作っても遅いです。 データサーバーはSQLServerとAccessを使っています。 プログラミングはVBを使用しています。 よろしくお願いします。

  • WebサイトとWebアプリケーションの違いってなんでしょうか?

    はじめまして。 Visual Studio 2005 の VB.netを使用しています。 VB.net において、 WebサイトとWebアプリケーションの違いってなんでしょうか? Webアプリケーション作成時にビハインドコード用の .vbファイルと保存時のslnファイルが出来るのは確認したのですが、 インターネットでどれだけ調べてもわかりません。 皆さんはどのような場合で、WebサイトとWebアプリケーションを使い分けるのでしょうか? また、参考になるサイトがあれば、教えて下さい。 ご教授の程宜しくお願いします。

  • CGI::Sessionでのユーザとの紐付け方法

    【できていること】 Cookieの発行 Cookieへのデータの書き込みと参照 【ここから質問】 ログイン認証があるWebアプリケーションにおいて、セッション情報(ID)とユーザ情報はどのように紐付けているのでしょうか? (ログイン成功時に生成するセッションIDとユーザ情報の紐付け情報をどこにどのように保持するのかがわかりません) Cookie(クライアント側)はセッションIDのみを保持しておいて、サーバ側で紐付け情報を保持するのだと思うのですが、CGI::Sessionではセッション生成時に作成されるcgise_XXXXファイルに書き込むのでしょうか?(そのメソッドか、具体例があれば教えてください) それとも紐付け専用のテーブルを用意しておくのでしょうか、もしくは、ユーザ情報のテーブルにあらかじめセッション情報を格納するカラムでも用意しておくのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • PHPとJavaScriptでのデータ保持

    環境は php postgresSQL です。 javaScript でリストを動的に作成で、いくつか分からないことがあります。 以下のようなものを作ろうとしています。 リストは全部で3つあります。 例)「部」「課」「グループ」 テーブル構成として 部テーブル 部ID 部名称 課ID 課テーブル 課ID 課名称 グループID グループテーブル グループID グループ名 最初表示されるときは 部リストには 全て 営業部 技術部 総務部 課リストには 全て グループリストには 全て がリストに入っている状態です。 初期表示段階で部、課、グループのリストで使用する 情報は取得します。 部をリストから選択したタイミングで 該当する課だけのリストを作成。 同様に課をリストから選択したタイミングで 該当するグループだけのリストを作成。 質問ですが、 1.データベースからデータを取得した後、 リスト作成に使用するため保持しておきたいのですが どのようにして保持し、どのようにして値を 利用する(リストの作成方法)か分かりません。 (センション変数に保持して使用するタイミングで javaScript内でその値を利用できるのでしょうか?) どなたかご存知であれば教えてください。

    • ベストアンサー
    • PHP
  • Web画面を遷移してもデータを保持する場合の、データ量の上限は?

    Webで、画面遷移してもデータを保持させるには、 私の知っている範囲では、 (1)隠しフォームを使う (2)Cookieを使う という方法があると思います。 これらの方法を使った場合、 保持できるデータ量の上限や、 何画面くらいまではデータ保持可能なのか?といった 制約はどうなっているのでしょうか。 具体的に自分で使ったことが無いので、分からなくて困っています。 「何Kバイトまで」「何画面まで」といったことがお分かりの方、 教えてください。 それと、他に、こんな方法があるよ! この方法だと、ここまでデータが持てるよ!というのを ご存知の方も、教えてくださると嬉しいです。 (NTサーバでASPを使っても、データの保持はできるんでしょうか?) よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう