「VIEW IN BROWSER」オプションを使用して VS 2008 の IDE からページを開こうとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。
このエラーが発生するコード:
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
「VIEW IN BROWSER」オプションを使用して VS 2008 の IDE からページを開こうとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。
このエラーが発生するコード:
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
ここでの問題は、XResult
それnull
を呼び出すToString
と、コードがNullReferenceException
. null
明示的なチェックを行うことで、これを説明する必要があります
TextBox1.Text = XResult == null ? String.empty : XResult.ToString();
「res」クエリ文字列なしでページを開く場合は、何かを行う前に null のチェックを含める必要があります。
if (Request.QueryString["res"] != null)
{
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
}
そのエラーは、REquest.QueryString メソッドが URL に「res」の値を見つけられなかったため、null オブジェクトに対して「toString」を実行しようとすると、例外が発生したためです。
あなたのコードはクエリ文字列を期待していますhttp://localhost:xxxx/yourapp?res=yourval
。ブラウザに提供されるアドレスには存在しません。プロジェクト プロパティのWebセクションで、適切な URL を指定できます。もちろん、これを可能にするためにコードを強化することをお勧めします。
XResult は既に文字列であるため、ToString を呼び出す必要はありません。これで問題も解決するはずです。
ここでの問題は、XResult が null であり、それを呼び出すとToString
コードがNullReferenceException
. 明示的な null チェックを行うことで、これを考慮する必要があります。
if (Request.QueryString["res"] != null)
{
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
}