В экземпляре объекта не задана ссылка на объект - PullRequest
2 голосов
/ 04 марта 2011

Когда я пытаюсь открыть страницу из своей среды IDE в VS 2008 с помощью опции «ПРОСМОТР В БРАУЗЕРЕ», я получаю сообщение об ошибке «Ссылка на объект не установлена ​​на экземпляр объекта».

Кусок кода, который я получаю эту ошибку:

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

Ответы [ 6 ]

6 голосов
/ 04 марта 2011

Проблема в том, что XResult равен null, и когда вы вызываете ToString, код выдает NullReferenceException. Вы должны учитывать это, выполнив явную null проверку

TextBox1.Text = XResult == null ? String.empty : XResult.ToString();
4 голосов
/ 04 марта 2011

Если вы открываете страницу без строки запроса res, вам нужно включить проверку на ноль, прежде чем что-либо делать с ней.

if (Request.QueryString["res"] != null)
{
    XResult = Request.QueryString["res"];
    TextBox1.Text = XResult.ToString();
}
2 голосов
/ 04 марта 2011

Эта ошибка может быть из-за того, что метод REquest.QueryString не нашел значение для «res» в URL, поэтому при попытке выполнить «toString» для нулевого объекта в этом исключении.

1 голос
/ 04 марта 2011

Ваш код ожидает строку запроса http://localhost:xxxx/yourapp?res=yourval.Его нет в адресе, указанном в браузере.В разделе web свойств вашего проекта вы можете указать соответствующий URL.Конечно, было бы целесообразно сохранить код для этого.

0 голосов
/ 18 сентября 2013

Проблема здесь в том, что XResult имеет значение null, и когда вы звоните ToString на нем код выдает NullReferenceException. Вы должны учесть это, выполнив явную проверку нуля:

if (Request.QueryString["res"] != null)
{
    XResult = Request.QueryString["res"];
    TextBox1.Text = XResult.ToString();
}
0 голосов
/ 04 марта 2011

XResult уже является строкой, поэтому вызов ToString не требуется. Это также должно исправить вашу проблему.

...