按钮每天单击一次

按钮每天单击一次

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.GetLeft.Value = invited.GetInviteCountByWeb().ToString();
            HttpCookie oldCookie = Request.Cookies["Time"];
            if (oldCookie != null)
            {
                if (DateTime.Now.ToString("yyyy-MM-dd") == Convert.ToDateTime(oldCookie.Values["GetTime"]).ToString("yyyy-MM-dd"))
                {
                    this.IsGet.Value = "false";
                }
                else
                {
                    HttpCookie newCookie = new HttpCookie("Time");
                    newCookie.Values.Add("GetTime", DateTime.Now.Date.ToString("yyyy-MM-dd"));
                    newCookie.Expires = DateTime.Now.AddHours(24.0);
                    Response.Cookies.Add(newCookie);
                }
            }
        }
    }


但它不起作用,每次关闭浏览器时,oldcookie为null。
所以如何设置按钮每天单击一次?

最佳答案

您的else陈述式在错误的位置,请尝试这样;

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        this.GetLeft.Value = invited.GetInviteCountByWeb().ToString();
        HttpCookie oldCookie = Request.Cookies["Time"];
        if (oldCookie != null)
        {
            if (DateTime.Now.ToString("yyyy-MM-dd") == Convert.ToDateTime(oldCookie.Values["GetTime"]).ToString("yyyy-MM-dd"))
            {
                this.IsGet.Value = "false";
            }
        }
        else
        {
            HttpCookie newCookie = new HttpCookie("Time");
            newCookie.Values.Add("GetTime", DateTime.Now.Date.ToString("yyyy-MM-dd"));
            newCookie.Expires = DateTime.Now.AddHours(24.0);
            Response.Cookies.Add(newCookie);
        }
    }

10-05 19:21