1

「A」と「B」の 2 つのページがあるとします。「A」にセッション変数を設定します。これは、ページ「B」のpage_load関数で次を使用してチェックされます。

 if (!string.IsNullOrEmpty(Session["x"].ToString()))
 {
 }

そのセッション変数の値に基づいて適切なアクションが実行されますが、最初にページ「B」を開くと、次のエラーが発生します。

 Object reference not set to an instance of an object.

このオブジェクトのインスタンスを事前に設定するにはどうすればよいですか?

4

2 に答える 2

1

IsNullOrEmptyアクションが開始され、渡されたパラメーターIsNullOrEmptyが評価される前に、例外が発生しています。nullToString()Session["x"]場合に呼び出すことで例外が発生します。Session["x"]そのため、呼び出しIsNullOrEmptyが行われる前に例外が発生します。

変化する

if (!string.IsNullOrEmpty(Session["x"].ToString())) {} 

To

if(Session["x"] != null && Session["x"].ToString() != string.Empty) {} 
于 2013-04-06T21:00:56.450 に答える
1

Session["x"].ToString()when SessionXis null を使用しているため、取得しているため、そうであってはならないことnull exception を確認する必要がありますSession["x"]null

if(Session["x"] != null )
{
  // your code
}
于 2013-04-06T21:01:34.687 に答える