Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1445
  • Last Modified:

Why is this cookie value always null?

I've tried it a couple of ways and it always comes up as null on Page_Load().  The value is what I expect it to be right after I set it.


protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
 
            HttpCookie cookie = new HttpCookie("Preferences");
 
            if (cookie != null)
                ddl_report.SelectedValue = cookie["LastReportRun"];
            
            //The previous line is executed, but cookie["LastReportRun"] is always null.
 
            SetCriteriaVisibility();
        }
    }
 
 
    protected void btn_run_report_Click(object sender, EventArgs e)
    {
        HttpCookie cookie = new HttpCookie("Preferences");
        cookie.Values.Add("LastReportRun", ddl_report.SelectedValue);
        cookie.Expires = DateTime.Now.AddMonths(2);
        Response.Cookies.Add(cookie);
 
        string s = cookie["LastReportRun"];
    }

Open in new window

0
dtburdick
Asked:
dtburdick
  • 3
  • 2
1 Solution
 
burakiewiczCommented:
the value wont be available until the page does a postback
0
 
dtburdickAuthor Commented:
So when do I set it?  The following didn't work even though it hits the line of code where it sets the cookie.  It is still null the next time I start the application.


    protected void Page_Load(object sender, EventArgs e)
    {
        if (ddl_report.SelectedIndex >0)
        {
            HttpCookie cookie = new HttpCookie("Preferences");
            cookie.Values.Add("LastReportRun", ddl_report.SelectedValue);
            cookie.Expires = DateTime.Now.AddMonths(2);
            Response.Cookies.Add(cookie);
 
            string s = cookie["LastReportRun"];
        }
 
        if (!Page.IsPostBack)
        {
 
            HttpCookie cookie = new HttpCookie("Preferences");
 
            if (cookie != null)
                ddl_report.SelectedValue = cookie["LastReportRun"];
            
            SetCriteriaVisibility();
 
        }
    }

Open in new window

0
 
burakiewiczCommented:
you are never getting the cookie you need something like this
HttpCookie cookie1=  Response.Cookies.Get("preferences");
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
dtburdickAuthor Commented:
That isn't working either.  I hate it when simple stuff slows me down.
0
 
raterusCommented:
You need to get the cookie from the Request, not the Response.

        if (!Page.IsPostBack)
        {
 
            HttpCookie cookie = Request.Cookies["Preferences"];
 
            if (cookie != null)
                ddl_report.SelectedValue = cookie["LastReportRun"];
           
            //The previous line is executed, but cookie["LastReportRun"] is always null.
 
            SetCriteriaVisibility();
        }
0
 
dtburdickAuthor Commented:
Thank you so much.  I'd have been here for eternity looking at that.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now