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

3
当我尝试进行排序时,出现了以下错误: 对象引用未设置为对象的实例。
public static string SortColumn    
{
  get
    {
      return HttpContext.Current.Session["SORT_COLUMN"].ToString();
    }
    set
    {
        HttpContext.Current.Session["SORT_COLUMN"] = value;
    }
}

请帮我解决这个问题...


1
获取器或设置器是否抛出异常?我猜测是获取器。因此,您可能应该确保在尝试检索它之前,有一些内容被写入“SORT_COLUMN”? - user604613
2个回答

4

Session["SORT_COLUMN"] 可能返回 null,你不能在 nothing 上调用 something,所以 ToString 会失败。

此外,HttpContext.Current 可能返回 null,这意味着你无法访问 Session - 如果你试图从 global.asax 代码中访问上下文,就会发生这种情况。


1

在访问getter之前,您必须初始化Session变量。否则,您必须进行检查:

return HttpContext.Current.Session["SORT_COLUMN"] != null ? 
       HttpContext.Current.Session["SORT_COLUMN"].ToString() : string.Empty

谢谢Slfan..请问如何编写代码,请发送给我代码。 - Indra
@Indra:将此代码放入getter中,或在global.asax中的Session_Start事件中初始化Session值。 - slfan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接