2
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 为空.. 那么我如何设置每天一次单击按钮?

4

1 回答 1

3

你的 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);
        }
    }
于 2012-06-21T06:06:38.257 回答