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

dtburdickAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
raterusConnect With a Mentor Commented:
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
 
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
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
burakiewiczCommented:
you are never getting the cookie you need something like this
HttpCookie cookie1=  Response.Cookies.Get("preferences");
0
 
dtburdickAuthor Commented:
That isn't working either.  I hate it when simple stuff slows me down.
0
 
dtburdickAuthor Commented:
Thank you so much.  I'd have been here for eternity looking at that.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.