c# .net在WEB页中的COOKIES设置技巧

一、设置cookies的方法很简单,有以下两种方法:

1、直接添加Cookie值:
Response.Cookies["userName"] = "Tom";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1) ; \\过期时间,在Cookies文件中无法查看,也不能调用.

2、创建Cookie对象的一个实例:
HttpCookie cookie=new HttpCookie("userName");
cookie.Value = "Tom";
cookie.Expires = DateTime.Now.AddDays(1) ;
Response.Cookies.Add(aCookie)

用以上任一方法都可以生成一个有“userName”项的文件, 在你的Internet临时文件夹中你可以查看它。

也可以创建和添加有子键的Cookies,如:
Response.Cookies["userInfo"]["userName"] = "Tom";

或:
HttpCookie cookie=new HttpCookie("userInfo");
cookie.Values["userName"] = "Tom";
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie)

二、检索Cookies:
Cookies某一键的值为:
Server.HtmlEncode(Request.Cookies["userInfo"]["userName"])
你可以用Response.Write()方法输出它到页面,如:
Response.Write(Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]));

或赋值给其它变量:

string strCookie1=Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]);

用Cookies[i]数组可以检索所有项和子键,如:


代码如下:

string[] cooName = new string[Request.Cookies.Count];
string[] cooValue = new string[Request.Cookies.Count];
HttpCookie aCookie;
for(int i=0;i<Request.Cookies.Count;i++){
aCookie = Request.Cookies[i];
cooName[i] = Server.HtmlEncode(aCookie.Name);
if(!aCookie.HasKeys){
cooValue[i] = Server.HtmlEncode(aCookie.Value);
}else{
string[] subcooName = new string[aCookie.Values.Count];
string[] subcooValue = new string[aCookie.Values.Count];
for(int j=0;j<aCookie.Values.Count;j++){
subcooName[j] = Server.HtmlEncode(aCookie.Values.AllKeys[j]);
subcooValue[j] = Server.HtmlEncode(aCookie.Values[j]);
}
}
}

三、修改Cookies
如果是数值类型的Cookie值,比如访问次数,你可以读取该值进行加减操作后再存回,一般的修改直接存入新值就可以了,系统自动用新值覆盖原值,存入的方法与创建相同。

四、删除Cookies
删除Cookies只要把有效期设为失效就可以了,如在创建时设有效期为一天:
cookie.Expires = DateTime.Now.AddDays(1) ;
要删除则设为:
cookie.Expires = DateTime.Now.AddDays(-1) ;

删除子键:


代码如下:

HttpCookie cookie;
cookie = Request.Cookies["userInfo"];
aCookie.Values.Remove("userName");
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);

(0)

相关推荐

  • C#基于WebBrowser获取cookie的实现方法

    本文实例讲述了C#基于WebBrowser获取cookie的实现方法.分享给大家供大家参考,具体如下: private void BtnOpenUrl_Click(object sender, EventArgs e) { if (txtUrl.Text != "") { MywebBrowser.Url = new Uri(txtUrl.Text); } } private void BtnGetCookie_Click(object sender, EventArgs e) { C

  • asp.net(C#)跨域及跨域写Cookie问题

    解决方法是: 复制代码 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader("P3P", "CP=CAO PSA OUR"); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域访问,需要使用jsonp,为配合其工作需要添加下面两句,生成jsonp返回 context.Response.ContentType = "text/p

  • C#中的cookie编程简单实例与说明

    复制代码 代码如下: using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;us

  • C#自定义简化cookie类实例

    本文实例讲述了C#自定义简化cookie类.分享给大家供大家参考.具体分析如下: 这个C#类封装了常用的cookie操作,包括读取cookie.写入cookie.设置cookie过期时间等等. using System; using System.Web; namespace DotNet.Utilities { public class CookieHelper { /// <summary> /// 清除指定Cookie /// </summary> /// <param

  • C# javascript 读写Cookie的方法

    第一:写Cookies 复制代码 代码如下: Response.Cookies["UserName"].Value="Guest"; Response.Cookies["UserName"].Expires=DateTime.Now.AddDays(1); 第二:添加Cookies 复制代码 代码如下: HttpCookie userName_zhengshu_Cookie = new HttpCookie("uname");

  • C# HttpClient Cookie验证解决方法

    自实现的cookie 验证,远程取值的例子 以下代码配合HttpClient使用可以实现跨域(cookie的读写) //验证 复制代码 代码如下: HttpClient httpClient = new HttpClient(url, null, true); httpClient.PostingData.Add(key,value);//登录用户名 httpClient.PostingData.Add(key,value);//密码 string str = httpClient.GetStr

  • c# 对cookies(增、删、改、查)的操作方法

    -----------------------------------------------------操作----------------------------------------------------------- 1.添加cookies(用cookies方式去做sso,用户信息保存,修改都会依赖cookies) 复制代码 代码如下: #region##添加cookeis    ///<summary>    /// 添加cookeis    ///</summary>

  • c# 获取CookieContainer的所有cookies函数代码

    复制代码 代码如下: /// <summary>        /// 遍历CookieContainer        /// </summary>        /// <param name="cc"></param>        /// <returns></returns>        public static List<Cookie> GetAllCookies(CookieConta

  • c#和net存取cookies操作示例

    cookies的创建: 在客户端创建一个username的cookies,其值为oneday,有效期为1天. 方法1: 复制代码 代码如下: Response.Cookies["username"].Value="admin";Response.Cookies["username"].Expires=DateTime.Now.AddDays(1); 方法2: 复制代码 代码如下: System.Web.HttpCookie newcookie=n

  • 总结C#网络编程中对于Cookie的设定要点

    花了2天时间,彻底搞清C#中cookie的内容,搞清以下内容将让你对所有网站的cookie都尽在掌握之中. cookieCollection是一个针对一个域所有的cookie的集合 cookeContainer是一个容器,里面可以装多个域的cookie的集合,即一个 cookieContainer可以包含多个cookieCollection,这个容器可以定义大小,决定 最多装多少个cookie,如果装满了还要再装,它会自动剔除原来过期的cookie. 再说到一个cookie的结构: Cookie

  • 基于C#后台调用跨域MVC服务及带Cookie验证的实现

    背景随着富客户端框架的盛行,以及众多优秀的前端js框架,很多情况我们会遇到跨域的问题,而js的ajax请求是不允许直接跨域访问的,当然你会说可以用JSONP等,但是由于代码洁癖,不想在前端和后台添加callback,而且很多情况你是无法控制的,需要牵连考虑太多的情况. 所以我直接绕过了,每个前端应用,自带一个通用后端服务代理,该服务解决跨域问题,自动代理帮前台获取跨域的数据. 如何算跨域虽然是个老问题,但是还是要提醒注意下两点:同IP,不同端口,数据访问是跨域的,但是Cookie访问是可以的(这

  • C#中Request.Cookies 和 Response.Cookies 的区别分析

    .NET中提供了读写Cookie的多种方法,Request.Cookies 是客户端通过 Cookie 标头形式由客户端传输到服务器的 Cookie:Response.Cookies 在服务器上创建并以 Set-Cookie 标头的形式传输到客户端.也就是说,一个是客户端向服务器端发送的来的,一个是服务器发送到客户端的. 第一次创建Cookies的时候,下面的2种读取方法读取到的内容是一样: C# 代码 复制代码 代码如下: HttpCookie hc = new HttpCookie("Use

  • C#中Cookie之存储对象

    本文通过代码详细给大家做讲解,具体内容如下: 做项目过程中,用户登陆之后,需要将用户的信息存到Cookie中,但因为Cookie中只能存储字符串,所以想到了先把用户实体序列化成Json串,存储在Cookie中,用到的时候再拿出来反序列化. 道理很简单,网上的例子也很多,但还是遇到一些小困难.下面与大家分享成果.(我的开发环境为VS2012,.net framework版本为4.0,) C#中Json与对象之间的互相转换 下载并引用Newtonsoft.Json.dll 定义一个简单的用户实体:

  • C#基于cookie实现的购物车功能

    本文实例讲述了C#基于cookie实现的购物车.分享给大家供大家参考,具体如下: 下面的代码将商品添加到cookie中,这里就不再编写添加商品到购物车的页面流程,而是直接使用代码实现 HttpCookie cookie = new HttpCookie("shop"); //cookie.values集合能够存储多个键值对,其中add方法的第一个参数是商品编号,第二个参数是商品名称和价格,中间用都好分隔. cookie.Values.Add("1", "电

随机推荐