- PR -

[ASP.NET]WebForm内のグローバル変数について

1
投稿者投稿内容
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-07-25 11:38
お世話になります。

WebForm内にグローバル変数を定義してある処理が行われた際に、
この変数に値を格納します。

その後、ボタンをクリックした際にこの変数を参照すると
値が消えています。


このような現象はASP.NETでは当たり前のことなのでしょうか?
調べていると、Application変数を使用すれば値を保持することができたのですが、
この方法以外に手段はありますでしょうか?



以上、よろしくお願いいたします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-07-25 11:46
普通はSessionを使います。

@IT:Opinion -- 川俣 晶:Visual Studio .NETは魔法の杖か?
http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2002_07.html
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-07-25 11:52
Session変数を使うなら、これも読みましょう。

  ASP.NETでInProcを使ってはいけない
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-07-25 12:11
> WebForm内にグローバル変数を定義してある処理が行われた際に、
> この変数に値を格納します。

WebFormのクラスの中に変数を定義した、ということでしょうか。
WebFormは1つのクラスですから、ここに変数を定義してもグローバルに
なるわけではありません。
クラス内のローカル変数になります。
また、ASP.NETでは、リクエストのたびにそのページのインスタンスが
生成され、ブラウザにHTMLを返すとこのインスタンスは破棄されます。
このため、クラス内のローカル変数は、リクエストのたびに新しく
生成されますから、ボタンクリックによるリクエストが発生した時点で
値が消えて当然です。

SessionやViewStateを利用することになると思います。
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-07-25 13:47
やはりSession変数を使用しないといけないんですねぇ。。。

わかりました。ありがとうございます。。。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-07-25 14:22
引用:

ともゆきさんの書き込み (2006-07-25 13:47) より:

やはりSession変数を使用しないといけないんですねぇ。。。


ん?どんな部分で心配をしていますか?
1

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