关于c#:ViewState询问对象的实例

ViewState asking for instance of object

本问题已经有最佳答案,请猛点这里访问。

我正试图用下面所示的代码来创建一个视图日期,我在下面收到了错误消息,任何关于为什么会发生这种情况的想法。

正在使用的代码

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

错误信息

对象引用未设置为对象的实例。


使用

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

而不是ToString()

ViewState["GridViewIndex"]为空并且只返回null或string.empty时,这不会崩溃。


1
2
3
4
5
6
ViewState["GridViewIndex"] = 'get the value
var state = string.empty;
if(ViewState["GridViewIndex"] != null)
{
   state = ViewState["GridViewIndex"].ToString();
}

因为您没有给viewstate["gridviewindex"]分配任何值,所以它会引发一个错误对象引用,该对象引用未设置为对象的实例。因此,首先分配一个值,然后将其传递到变量状态。

希望这有帮助

快乐编码


之所以出现此错误,是因为viewstate["gridviewindex"]不是对象的实例。

viewstate与dicionary类似,但对于给定的键,如果没有实例化对象,则可能会得到空引用。请更改代码以检查是否有空引用,因为将其转换为字符串。

类似的东西

1
2
3
4
5
string state = string.Empty;
if(ViewState["GridViewIndex"] != null)
{
   state = ViewState["GridViewIndex"].ToString();
}

或者也可以使用convert.toString,而不是ronondex告诉我们的toString,但通常我们需要检查是否有空引用。