asp.net 操作 cookie

简介:
  protected   void  Button1_Click( object  sender, EventArgs e)  // 写入Cookie
    {
        HttpCookie cookie 
=   new  HttpCookie( " Info " ); // 定义cookie对象以及名为Info的项
        DateTime dt  =  DateTime.Now; // 定义时间对象
        TimeSpan ts  =   new  TimeSpan( 1 0 0 0 ); // cookie有效作用时间,具体查msdn
        cookie.Expires  =  dt.Add(ts); // 添加作用时间
        cookie.Values.Add( " user " " cxbkkk " ); // 增加属性
        cookie.Values.Add( " userid " " 1203 " );
        Response.AppendCookie(cookie);
// 确定写入cookie中
    }
    
protected   void  Button2_Click( object  sender, EventArgs e) // 读取Cookie
    {
        
if  (Request.Cookies[ " Info " !=   null )
        {
            
string  temp  =  Convert.ToString(Request.Cookies[ " Info " ].Values[ " user " ])  +   "    "   +  Convert.ToString(Request.Cookies[ " Info " ].Values[ " userid " ]);
            
// 读全部就用Request.Cookies["Info"].Value)
             if  (temp  ==   "" )
            {
                Response.Write(
" " );
            }
            
else
                Response.Write(temp);
        }
        
else
        {
            Response.Write(
" 无cookie " );
        }
    }
    
protected   void  Button3_Click( object  sender, EventArgs e)  // 修改Cookie
    {
        Response.Cookies[
" Info " ][ " user " =   " 2 " ;
        Response.Cookies[
" Info " ].Expires  =  DateTime.Now.AddDays( 1 );
    }
    
protected   void  Button4_Click( object  sender, EventArgs e) // 删除Cookie
    {
        
//  删除cookie下的属性
        HttpCookie acookie  =  Request.Cookies[ " Info " ];
        acookie.Values.Remove(
" userid " );
        acookie.Expires 
=  DateTime.Now.AddDays( 1 );
        Response.Cookies.Add(acookie);    
        
// 删除所有cookie,就是设置过期时间为现在就行了
         int  limit  =  Request.Cookies.Count  -   1 ;
        
for  ( int  i  =   0 ; i  <  limit; i ++ )
        {
            acookie 
=  Request.Cookies[i];
            acookie.Expires 
=  DateTime.Now.AddDays( - 1 );
            Response.Cookies.Add(acookie);
        }       
//  这下不用到处找了 
    }  




每个页面下面放以下代码
<script src="http://www.cnblogs.com/clicktotal.aspx?proid=247"></script>

//写入cookie  点击率
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

public   partial   class  clicktotal : System.Web.UI.Page
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
        
this .clickfun();
    }
    
// 写入cookie
     private   void  writeCookie( string  strId)
    {
        
if  (Request.Cookies[ " pp " !=   null )
        {
            
string  temp  =  Convert.ToString(Request.Cookies[ " pp " ].Values[ " id " ]);
            
if  (temp.IndexOf(strId)  >- 1 ) // 判断是否出现过
            {
                temp 
=  temp.Replace(strId,  "" );
                temp 
+=  strId  +   "" ;
            }
            
else
            {
                temp 
+=  strId  +   "" ;
            }
            
            Response.Cookies[
" pp " ][ " id " =  temp;
            Response.Cookies[
" pp " ].Expires  =  DateTime.Now.AddDays( 1 );

        }
        
else
        {
            HttpCookie cookie 
=   new  HttpCookie( " pp " ); // 定义cookie对象以及名为Info的项
            DateTime dt  =  DateTime.Now; // 定义时间对象
            TimeSpan ts  =   new  TimeSpan( 1 0 0 0 ); // cookie有效作用时间,具体查msdn
            cookie.Expires  =  dt.Add(ts); // 添加作用时间
            cookie.Values.Add( " id " , strId); // 增加属性
            Response.AppendCookie(cookie); // 确定写入cookie中
        }
    }
   
private   void  clickfun() // 获取商品点击率
   {
        
if  (Request[ " proid " !=   null )
        {
            
string  strId  =  Request[ " proid " ];
            
string  strSql  =   " select top 1 * from product where id= " + strId;
            db d 
=   new  db();
            DataTable dt 
=  d.getDT(strSql);
            
int  inTotal  =   0 ;
            
if  (dt.Rows.Count  >   0 )
            {
                
if  (dt.Rows[ 0 ][ " totalHits " ].ToString()  !=   "" )
                {
                    inTotal 
=  Convert.ToInt32(dt.Rows[ 0 ][ " totalHits " ])  +   1 ;
                }
                
else
                {
                    inTotal 
=   1 ;
                }
                strSql 
=   " update product set totalHits= " + inTotal + "  where id= " + strId;
                d 
=   new  db();
                
int  i = d.excuteSQL(strSql);
            }
            
// 设置cookie
             this .writeCookie(strId + " | " );
            
// 设置cookie结束
        }
        
        Response.Write(
" document.write(\ " \ " ) " );
   }
}


//获取cookie值
    private string getcookie()
    {
        
string strReturn = "";
        
if (Request.Cookies["pp"!= null)
        {
            
string temp = Convert.ToString(Request.Cookies["pp"].Values["id"]);
            
//读全部就用Request.Cookies["Info"].Value)
            if (temp != "")
            {
                strReturn 
= temp;
            }
        }
        
return strReturn;
    }


   
string str = this.getcookie();//获取cookie值
       
// Response.Write(""+str+"");
       Response.Write( this.cchtml(str) );
    }
    
//生成html并返回
    private string cchtml(string str)
    {
        
string strReturn="";
        
if (str != "")
        {
            
string strShow = "<div id='left3'><div class='span'>你最近浏览的商品</div>";
            strShow 
+= "<dl>";
            
string[] arra = str.Split('|');//截取内字符
            
//for (int i = 0; i < arra.Length; i++)

            
if (arra.Length < 6)
            {


                
for (int i = arra.Length - 1; i >= 0; i--)
                {
                    
if (arra[i] != "")
                    {
                        
string strSql = "select * from product where id=" + arra[i].ToString();
                        db d 
= new db();
                        DataTable dt 
= d.getDT(strSql);
                        
if (dt.Rows.Count > 0)
                        {
                            
// strShow += "<dt><a href='" + this.strRoot(arra[i].ToString()) + "/" + dt.Rows[0]["proFname"] + ".htm'><img src='" + webUrl + "/img/produce.gif' alt='" + dt.Rows[0]["proCname"] + "' border='0' /></a></dt>";
                            strShow += "<dd><a href='" + this.strRoot(arra[i].ToString()) + "/" + dt.Rows[0]["proFname"+ ".htm'>" + dt.Rows[0]["proCname"+ "</a></dd>";
                        }
                    }

                }
            }

            
else
            {
                
int i, j;
                
for (i = 0; i < arra.Length; i++)
                    
for (j = i + 1; j < arra.Length; j++)
                    {
                        
string t = arra[i];
                        arra[i] 
= arra[j];
                        arra[j] 
= t;
                    }
                
for (i = 0; i < 6; i++)
                {


                    
if (arra[i] != "")
                    {
                        
string strSql = "select * from product where id=" + arra[i].ToString();
                        db d 
= new db();
                        DataTable dt 
= d.getDT(strSql);
                        
if (dt.Rows.Count > 0)
                        {

                            strShow += "<dd><a href='" + this.strRoot(arra[i].ToString()) + "/" + dt.Rows[0]["proFname"+ ".htm'>" + dt.Rows[0]["proCname"+ "</a></dd>";
                        }
                    }

                }
            }
            
            strShow 
+= "</dl>";
            strShow 
+= "</div>";
            strReturn 
= strShow;
        }
        
else
        {
            
string strShow = "<div id='left3'><div class='span'>你最近浏览的商品</div><dl>";
            strShow 
+= "<dd>&nbsp;您暂时没有浏览任何产品或cookie未正确启用</dd>";
            strShow 
+= "</dl></div>";
            strReturn 
= strShow;
        }
        
return strReturn;
           
    }

 

 

复制代码
// /设置cookie
function setCookie(NameOfCookie, value, expiredays) {
     var ExpireDate =  new Date();
    ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
    document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays ==  null) ? "": "; expires=" + ExpireDate.toGMTString());
}
// /获取cookie值
function getCookie(NameOfCookie) {
     if (document.cookie.length > 0) {
        begin = document.cookie.indexOf(NameOfCookie + "=");
         if (begin != -1) {
            begin += NameOfCookie.length + 1;
            end = document.cookie.indexOf(";", begin);
             if (end == -1) end = document.cookie.length;
             return unescape(document.cookie.substring(begin, end));
        }
    }
     return  null;
}
// /删除cookie
function delCookie(NameOfCookie) {
     if (getCookie(NameOfCookie)) {
        document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
复制代码


    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2009/09/30/1576763.html,如需转载请自行联系原作者


相关文章
|
4月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
74 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET WEB——项目创建与文件上传操作
ASP.NET WEB——项目创建与文件上传操作
75 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
142 0
|
4月前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
56 1
|
4月前
|
存储 Web App开发 安全
Django中Cookie相关操作
Django中Cookie相关操作
|
4月前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
30 0
|
12月前
|
存储 JavaScript
js -cookie的操作
cookie是存储在客户端浏览器中的一段文本信息。
|
4月前
|
存储 前端开发 Java
【源码共读】在前端如何操作 Cookie
【源码共读】在前端如何操作 Cookie
96 1
|
10月前
|
存储 JavaScript 前端开发
cookie相关操作
cookie相关操作
47 0
|
JavaScript 前端开发 Java
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙
虽然Cookie和Session都是暂时存在的,不久就会被删掉,但是我们要退出登录的时候,就不能等待其自然消除了~
63 0