2013-12-16 2 views
0

Я пытаюсь просмотреть в коде, как показано ниже, и я получаю сообщение об ошибке ниже, любые идеи, почему это происходит. используетсяViewState, запрашивающий экземпляр объекта

код

var state = ViewState["GridViewIndex"].ToSting() 

Сообщение об ошибке

объекта не задана ссылка на экземпляр объекта.

+1

Где этот код используется? В какой момент жизненного цикла страницы? И было ли значение действительно установлено * в * ViewState ["GridViewIndex"]? – freefaller

ответ

1

Использование

var state = Convert.ToString(ViewState["GridViewIndex"]); 

вместо ToString()

Это не приведет к краху, когда ViewState["GridViewIndex"] является недействительным и просто возвращает нуль или string.Empty.

0

Причина, по которой вы получаете эту ошибку, состоит в том, что ViewState ["GridViewIndex"] не является экземпляром объекта.

ViewState походит на dicionary, но для данного ключа вы можете получить нулевую ссылку, если объект не создан. Пожалуйста, измените свой код, чтобы проверить нулевые ссылки, потому что конвертируйте его в строку.

Что-то вроде

string state = string.Empty; 
if(ViewState["GridViewIndex"] != null) 
{ 
    state = ViewState["GridViewIndex"].ToString(); 
} 

или может также использовать Convert.ToString вместо ToString, как сказал нам RononDex, но в целом мы должны проверить нулевые ссылки.

0
ViewState["GridViewIndex"] = 'get the value 
var state = string.empty; 
if(ViewState["GridViewIndex"] != null) 
{ 
    state = ViewState["GridViewIndex"].ToString(); 
} 

Поскольку вы не назначили какие-либо значения в ViewState [ «GridViewIndex»] он выдает ссылку на объект ошибки не указывает на экземпляр объекта. поэтому сначала назначьте значение, а затем передайте его в состояние переменной.

Надеется, что это помогает

Счастливого Кодированию

Смежные вопросы