2011-02-03 17 views
0

アプリケーションの実行中に奇妙な問題に直面しています。asp.net内の同じステートメントのオブジェクト参照null

私はクラス[sayayInfo]を持っていますが、そのためにページの上にインスタンスが宣言されています。ページスコープ]をPage_Loadに

StudentInfo sInfo; 

の私は、そのクラスの関数を呼び出すために、このインスタンスを呼び出していますし、すべてが正常に動作している:

例:string studentName = sInfo.GetStudentId(studentId);

しかし、私は同じ上記のコードを書いています同じページ上の別の機能では、私はこのエラーを取得しています:

オブジェクト参照をnullに設定することはできません

private infoList GetInfo() 
{ 
int studentId = // some logic; 
string studentName = sInfo.GetStudentId(studentId); 
} 
+0

を試してみてください、それを作成していません。 – Adeel

+0

コードを貼り付けてください。 'sInfo'をどこで設定しましたか? –

+0

SInfoがどこで初期化され、どこでGetInfoが呼び出されるかによって異なります。しかし、sInfoが初期化される前にGetInfo()を使用しているようです。 – lvanzijl

答えて

2

あなたは変数を宣言しますが、

あなたはおそらくPage_Load` `前にこのメソッドを呼び出しているStudentInfo sInfo = new StudentInfo();

+0

私はページのスコープのインスタンスを宣言したので、正常に動作するはずだと思っていましたが、そうではありません。新しいインスタンスを作成しているときにも、同じランタイムエラーが発生しています。 – Zerotoinfinity

+0

@zerotoinfiniteここでインスタンスを作成していますか?ページが使用されるたびに作成する必要があります。デフォルトでは、ポストバックの状態は保持されず、再度作成またはフェッチする必要があります。 –

+0

これで解決しました。私は再び新しいインスタンスを作成し、それは働いた。 – Zerotoinfinity

関連する問題