System.NullReferenceException:未将对象引用设置为对象的实例

时间:2011-06-02 10:25:06

标签: c# nullreferenceexception

  

可能重复:
  System.NullReferenceException: Object reference not set to an instance of an object

查看我的代码

if (ViewState["Edit"].ToString() == "new") { 
}
else {
      row = _section.GetBannerEntry(ViewState["Edit"].ToString()); 
}

我在这一行if (ViewState["Edit"].ToString() == "new")收到了错误,我用if (ViewState["Edit"] != null && ViewState["Edit"].ToString() == "new")代替了它。

现在我在else row = _section.GetBannerEntry(ViewState["Edit"].ToString());

中收到同样的错误

请帮助

5 个答案:

答案 0 :(得分:3)

您的视图状态为空 检查

if(ViewState["Edit"]!= null)
{
 if (ViewState["Edit"].ToString() == "new")
}

答案 1 :(得分:1)

如果尚未设置ViewState["Edit"].ToString()将抛出异常。

尝试以下方法之一:

  • if (ViewState["Edit"]!= null && ViewState["Edit"].ToString() == "new") //最好的一个
  • if (ViewState["Edit"] + "" == "new")

答案 2 :(得分:0)

嗯, ViewState 为空或 ViewState [“编辑”] 返回null ...

答案 3 :(得分:0)

if (ViewState["Edit"] != null && ViewState["Edit"].ToString() == "new") {

或者如果应该在viewstate中的是一个字符串,这应该有效:

if ((string)ViewState["Edit"] == "new") {

答案 4 :(得分:0)

尝试

protected void btnSaveDetails_Click(object sender, EventArgs e) 
{         
DataRow row = null;          
 if (ViewState["Edit"] != null && ViewState["Edit"].ToString() == "new") 
 {
 }
}