2

「VIEW IN BROWSER」オプションを使用して VS 2008 の IDE からページを開こうとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

このエラーが発生するコード:

 XResult = Request.QueryString["res"];    
 TextBox1.Text = XResult.ToString();
4

6 に答える 6

6

ここでの問題は、XResultそれnullを呼び出すToStringと、コードがNullReferenceException. null明示的なチェックを行うことで、これを説明する必要があります

TextBox1.Text = XResult == null ? String.empty : XResult.ToString();
于 2011-03-04T19:40:04.340 に答える
4

「res」クエリ文字列なしでページを開く場合は、何かを行う前に null のチェックを含める必要があります。

if (Request.QueryString["res"] != null)
{
    XResult = Request.QueryString["res"];
    TextBox1.Text = XResult.ToString();
}
于 2011-03-04T19:40:53.210 に答える
2

そのエラーは、REquest.QueryString メソッドが URL に「res」の値を見つけられなかったため、null オブジェクトに対して「toString」を実行しようとすると、例外が発生したためです。

于 2011-03-04T19:39:18.540 に答える
1

あなたのコードはクエリ文字列を期待していますhttp://localhost:xxxx/yourapp?res=yourval。ブラウザに提供されるアドレスには存在しません。プロジェクト プロパティのWebセクションで、適切な URL を指定できます。もちろん、これを可能にするためにコードを強化することをお勧めします。

于 2011-03-04T19:38:06.020 に答える
0

XResult は既に文字列であるため、ToString を呼び出す必要はありません。これで問題も解決するはずです。

于 2011-03-04T19:39:58.537 に答える
0

ここでの問題は、XResult が null であり、それを呼び出すとToString コードがNullReferenceException. 明示的な null チェックを行うことで、これを考慮する必要があります。

if (Request.QueryString["res"] != null)
{
    XResult = Request.QueryString["res"];
    TextBox1.Text = XResult.ToString();
}
于 2013-09-18T02:26:37.503 に答える