如果ASP.NET中不存在Cookie,该如何创建?

时间:2019-04-19 14:23:06

标签: c# asp.net

我想创建一个网站,该网站说明您访问了多少次。但我不知道为什么它不起作用 预先谢谢你

        int intVisits;
        if (Request.Cookies["CkVisits"] != null)
        {
            intVisits = Convert.ToInt16(Request.Cookies["CkVisits"]);
            lblVisits.Text = Convert.ToString(intVisits);

            intVisits++; //to add a new visit
            CkNombreVisits["CkVisits"] = Convert.ToString(intVisits);
            //here its says that CkNombreVisits doesn't exist
        }
        else
        {

            HttpCookie CkNombreVisits = new HttpCookie("CkVisits");
            CkNombreVisits.Expires = DateTime.Now.AddDays(20);
            CkNombreVisits["CkVisits"] = "0";
            lblVisits.Text = Convert.ToString(Request.Cookies["CkVisits"]);

            intVisits = Convert.ToInt16(Request.Cookies["CkVisits"]);
            intVisits++;
            CkNombreVisits["CkVisits"] = Convert.ToString(intVisits);

        }

2 个答案:

答案 0 :(得分:0)

您只需要添加Response.Cookies.Add(CkNombreVisits);

如果您要设置过期的CkNombreVisits.Expires = DateTime.Now.AddHours(6);

 int intVisits;
  HttpCookie CkNombreVisits = null;
            if (Request.Cookies["CkVisits"] != null)
            {
                HttpCookie CkNombreVisits = Request.Cookies["CkVisits"];
                intVisits = Convert.ToInt16(CkNombreVisits );
                lblVisits.Text = Convert.ToString(intVisits);

                intVisits++; //to add a new visit
                CkNombreVisits["CkVisits"] = Convert.ToString(intVisits);
                //here its says that CkNombreVisits doesn't exist
            }
            else
            {

                CkNombreVisits = new HttpCookie("CkVisits");
                CkNombreVisits.Expires = DateTime.Now.AddDays(20);
                CkNombreVisits["CkVisits"] = "0";
                lblVisits.Text = Convert.ToString(Request.Cookies["CkVisits"]);

                intVisits = Convert.ToInt16(Request.Cookies["CkVisits"]);
                intVisits++;
                CkNombreVisits["CkVisits"] = Convert.ToString(intVisits);

            }

Response.Cookies.Add(CkNombreVisits);

答案 1 :(得分:0)

  

CkNombreVisits不存在

当然不是,因为您仅在else分支中拥有它。在if分支中,添加

HttpCookie CkNombreVisits = Request.Cookies["CkVisits"];