2012-03-29 6 views
0

私は2つのWebページを持っています。最初のWebページでは、ユーザー入力を受け取るテキストボックスがあります.2番目のページでレンダリングされるコントロールの数は、最初のページのユーザー入力に基づいています。 私は今、私はグローバル変数を初期化するために、次のページでは、このセッション変数を使用したいと私は何をしようとしたこと1ページのセッション変数を使用してvb.netの別のページのグローバル変数を初期化する方法はありますか?

あるセッション変数

Session("NoOfControlsToGenerate") = TextBox1.Text 

として最初のページからユーザー入力を格納しています

Dim num_Invitees As Integer = CType(Session("NoOfControlsToGenerate"), Integer) 

しかし、これは私にNullReferenceExceptionを与えます。

グローバル変数を初期化するためにセッション変数を使用するにはどうすればよいか、また、セッション変数の値はnullですが、関数内で使用するとうまく動作する理由を教えてください。事前

でのおかげでASP.netは一見簡単なパラメータを渡します

+2

ViewStateがセッションと同じではありません使用することができます... – Heinzi

+0

セッション状態がサーバによって保存され、ViewStateのは、ブラウザによって保存されています。 – Jodrell

+0

可能なことは、要求の一部として招待者の数を、おそらくクエリ文字列に渡すことです。それからあなたは心配する国がありません。 – Jodrell

答えて

0

ありがとうございました。同じページにポストバックしている場合は、テキストボックスの値を読み込むだけで済みます。この値は、デフォルトでポストバック全体にわたって保持されます。あなたが別のページに掲載している場合

、あなたが

CType(Page.PreviousPage.FindControl("YourTextBoxID"), TextBox).Text 
関連する問題