2011-03-04 4 views
2

Lorsque j'essaie d'ouvrir la page à partir de mon IDE dans VS 2008 à l'aide de l'option "VIEW IN BROWSER", j'obtiens " La référence d'objet n'est pas définie sur une instance d'objet " erreur.Référence d'objet non définie sur une instance d'un objet

Le morceau de code je reçois cette erreur:

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

Répondre

6

Le problème ici est que XResult est null et lorsque vous appelez ToString sur elle le code produit un NullReferenceException. Vous devez expliquer cela en faisant un chèque explicite null

TextBox1.Text = XResult == null ? String.empty : XResult.ToString(); 
1

Votre code attend une chaîne de requête http://localhost:xxxx/yourapp?res=yourval. Il n'est pas présent dans l'adresse fournie au navigateur. Dans la section web des propriétés de votre projet, vous pouvez fournir une URL appropriée. Bien sûr, étayer votre code pour permettre cela serait souhaitable.

2

Cette erreur peut-être parce que la méthode REquest.QueryString n'a pas trouvé une valeur pour "res" dans l'URL, donc lorsque vous essayez de faire le "toString" à un objet null whrow cette exeption.

0

XResult étant déjà une chaîne, l'appel de ToString n'est pas nécessaire. Cela devrait aussi régler votre problème.

+1

.ToString() sur une chaîne ne lancera pas une erreur. Le problème est que XResult est null car il ne trouve pas "res" dans la chaîne de requête. –

+1

C'est déjà une chaîne de caractères et l'appel de '.ToString()' n'est pas nécessaire, mais cela ne résoudra pas votre problème. – Chev

+1

Il résoudra l'exception de référence NULL, car l'appel de .ToString() sur un null lancera l'exception. –

4

Si vous ouvrez la page sans la « res » chaîne de requête, vous devez inclure un chèque nul avant de faire quoi que ce soit avec lui.

if (Request.QueryString["res"] != null) 
{ 
    XResult = Request.QueryString["res"]; 
    TextBox1.Text = XResult.ToString(); 
} 
0

Le problème ici est que XResult est nulle, et lorsque vous appelez ToString sur elle le code produit un NullReferenceException. Vous devez tenir compte de cela en effectuant une vérification null explicite:

if (Request.QueryString["res"] != null) 
{ 
    XResult = Request.QueryString["res"]; 
    TextBox1.Text = XResult.ToString(); 
} 
Questions connexes