【问题标题】:nullpointerexception error while using cookies in asp.net在 asp.net 中使用 cookie 时出现 nullpointerexception 错误
【发布时间】:2014-06-21 02:37:47
【问题描述】:

我在 if 条件下得到 nullpointerexception。如何解决此错误。我的代码和错误描述如下。

错误:System.Web.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理

此行出现错误:if (Request.Cookies[name].Value != null)

  public void SetCookie(string name, string value, int expiration)
    {
        HttpCookie cookie;
        cookie = new HttpCookie(name);
        if (Request.Cookies[name].Value != null)
        {
            DeleteCookie(name);
        }
        else
        {
            cookie.Value = value;
            cookie.Expires = DateTime.Now.AddDays(expiration);
            Response.Cookies.Add(cookie);
        }

    }

【问题讨论】:

  • 你知道NullReferenceException 的真正含义吗?
  • 我认为当浏览器中不存在cookies时会出现这个错误。
  • 是的,在这种情况下,几乎可以肯定是这样。但是那个异常是什么意思呢?你的代码说明了什么?

标签: c# asp.net cookies


【解决方案1】:

将您的方法更改为以下内容:

 public void SetCookie(string name, string value, int expiration)
{
    if(Request.Browser.Cookies)
    {
        if (Request.Cookies[name] != null)
        {
            DeleteCookie(name);
        }

        HttpCookie cookie;
        cookie = new HttpCookie(name);
        cookie.Value = value;
        cookie.Expires = DateTime.Now.AddDays(expiration);
        Response.Cookies.Add(cookie);
    }
}

【讨论】:

    猜你喜欢
    • 2013-08-10
    • 2015-05-09
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 2021-01-25
    相关资源
    最近更新 更多