当我打开一个页面时,生成一个用户名,利用Cookie进行保存,Cookie有7天有效期(针对本机),当用户下次进入页面时,判断Cookie是否有值,有则取出,没有则生成一个利用Cookie进行保存!这段代码该怎么写啊?求指教:QQ396777416!

解决方案 »

  1.   

    /// <summary>
            /// 设置COOKIE值
            /// </summary>
            /// <param name="cookieName"></param>
            /// <param name="cookieValue"></param>
            /// <param name="day"></param>
            public static void SetCookie(string cookieName, string cookieValue, int day)
            {
                HttpCookie cookie = new HttpCookie(cookieName);
                cookie.Expires = DateTime.Now.AddDays(day);
                cookie.Value = cookieValue;
                HttpContext.Current.Response.Cookies.Add(cookie);
            }        /// <summary>
            /// 读取COOKIE值
            /// </summary>
            /// <param name="cookieName"></param>
            /// <returns></returns>
            public static string GetCookie(string cookieName)
            {
                string str = "";            HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
                if (cookie != null)
                    str = cookie.Value.ToString();
                else
                    str = null;            return str;
            }protected void Page_Load(object sender, EventArgs e)
    {
    if(GetCookie("cookieName")==null)
    {
      SetCookie("cookieName","您的用户名",7);
    }
    else
    {
      response.write(GetCookie("cookieName"));
    }
      

  2.   

    Asp.net夜话之二:asp.net内置对象
    准确地说,asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。本文介绍System.Web.UI.Page类的几个常用属性,如Request、Response、Server、Session、Cookie、Application,并讲述了及表达式用法。
      

  3.   

    Cookie
    Cookie对象和Session对象一样也是用来保存特定的用户相关的数据,不过Session不同的是Cookie保存在客户端而不是服务器上,每次客户端发出请求的时候都会把Cookie一起发送到服务器,服务器每次响应客户端请求的时候会重新把Cookie发送到客户端保存。
    Cookie保存数据有以下特点:
    Cookie中的数据保存在客户端;
    Cookie中只能保存字符串类型的数据,如果需要在Cookie中保存其它类型数据,需要将其转换成字符串类型后保存;
    Cookie也有其默认生命周期,也可以手动设置,最大可设置成50年之后过期。
    同Session的情况一样,有可能在一个网站中使用到的Cookie不止一个,我们仍通过Cookie的名称来区分不同的Cookie。
    设置Cookie的过程就是在服务器的响应对象Response的Cookie集合中增加一个Cookie的实际,Response对象会把这个Cookie集合中的所有Cookie都发送客户端。代码如下(仍以保存用户名为例):HttpCookie cookie = new HttpCookie("UserName", "zhoufoxcn"); 
    Response.Cookies.Add(cookie);     获取Cookie就是从客户端的请求对象中找到对应名称的Cookie,当然也有可能出现Cookie不存在的情况,所以在获取之前也需要检查指定名称的Cookie是否存在,大妈如下:string userName; 
    if (Request.Cookies["UserName"] != null) 

         userName = Request.Cookies["UserName"].Value; 
    } 细心的朋友可能会留意到前面讲到Session和Cookie的时候,我都说他们是针对特定用户保存的数据,也就是那些数据并不是每个人都能用到。Session和Cookie一般用来一些针对特定用户的信息,比如用于保存用户名等,因为是针对特定用户的,所以不会针对张三设置用户名保存在Session或者Cookie中之后再去或者这个值的时候得到的是李四的用户名。但是在某些情况下,我们又希望保存一些共有信息,这样大家都能设置或者获取,比如自从服务器启动以来某个页面被打开的次数,这时用Session或者Cookie就不合适了。这就需要用Application了。