2013/09/15(Sun) 08:26:43 編集(投稿者)
■No68003 (ほうらいし さん) に返信
Static変数はStatic変数を含むメソッドがSharedでなければインスタンスごとに確保されるものです。
Page_LoadメソッドはSharedではありませんので、Static変数initstateはインスタンスごとに確保されます。
Page_Loadが呼ばれてinitstateに値が設定され、次にPage_Loadが呼ばれたときにPageのインスタンスが
以前のものと同じであるならinitstateの値は以前に設定された値になります。しかし、Pageのインスタンスは
Page_Loadが呼ばれるたびに違うものだったりします。なので、Page_Loadが呼ばれるたびにinitstateは
初期化されます。
最初のPage_Loadのときだけ処理を行うということであればPage.IsPostBackプロパティで判断するのがよいと思います。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
...
End If
End Sub