Can someone tell me this? I am confused, when the page is initially loaded, the viewstate has a value in it. Then When I clicked on the button, the view value in page_render will be equal to the session variable, but how come when I clicked Refresh, the viewstate value is not the session variable, but instead, its the value from the initally page loaded value?

Code:
        protected void Button1_Click(object sender, EventArgs e)
        {
            string sSesion = Session["CheckRefresh"].ToString();
            string sViews = ViewState["CheckRefresh"].ToString();
            if (Session["CheckRefresh"].ToString() ==
                ViewState["CheckRefresh"].ToString())
            {
                Label1.Text = "Hello";

                Session["CheckRefresh"] = Server.UrlDecode(System.DateTime.Now.ToString());
                string sTest = Session["CheckRefresh"].ToString();
            }
            else
            {
                Label1.Text = "Page Refreshed";
            }
        }

        protected void Page_PreRender(object sender, EventArgs e)
        {
            ViewState["CheckRefresh"] = Session["CheckRefresh"];
            string sTtest = ViewState["CheckRefresh"].ToString();
        }