- - PR -
[ASP.NET]WebForm内のグローバル変数について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-25 11:38
お世話になります。
WebForm内にグローバル変数を定義してある処理が行われた際に、 この変数に値を格納します。 その後、ボタンをクリックした際にこの変数を参照すると 値が消えています。 このような現象はASP.NETでは当たり前のことなのでしょうか? 調べていると、Application変数を使用すれば値を保持することができたのですが、 この方法以外に手段はありますでしょうか? 以上、よろしくお願いいたします。 | ||||
|
投稿日時: 2006-07-25 11:46
普通はSessionを使います。
@IT:Opinion -- 川俣 晶:Visual Studio .NETは魔法の杖か? http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2002_07.html | ||||
|
投稿日時: 2006-07-25 11:52
Session変数を使うなら、これも読みましょう。
ASP.NETでInProcを使ってはいけない | ||||
|
投稿日時: 2006-07-25 12:11
> WebForm内にグローバル変数を定義してある処理が行われた際に、
> この変数に値を格納します。 WebFormのクラスの中に変数を定義した、ということでしょうか。 WebFormは1つのクラスですから、ここに変数を定義してもグローバルに なるわけではありません。 クラス内のローカル変数になります。 また、ASP.NETでは、リクエストのたびにそのページのインスタンスが 生成され、ブラウザにHTMLを返すとこのインスタンスは破棄されます。 このため、クラス内のローカル変数は、リクエストのたびに新しく 生成されますから、ボタンクリックによるリクエストが発生した時点で 値が消えて当然です。 SessionやViewStateを利用することになると思います。 | ||||
|
投稿日時: 2006-07-25 13:47
やはりSession変数を使用しないといけないんですねぇ。。。
わかりました。ありがとうございます。。。 | ||||
|
投稿日時: 2006-07-25 14:22
ん?どんな部分で心配をしていますか? |
1