以下是类:

   public class CookieMgr {
#region 快速储存Cookie
/// <summary>
/// 快速储存Cookie
/// </summary>
/// <param name="dt">数据源表</param>
/// <param name="cookieName">Cookie名称</param>
/// <param name="day">过期时间,天</param>
public static void SaveCookie(DataTable dt, string cookieName, int day) {
HttpCookie cookie = new HttpCookie(cookieName);
if (day != )
cookie.Expires = DateTime.Now.AddDays(day); for (int i = ; i < dt.Columns.Count; i++) {
cookie.Values.Add(dt.Columns[i].ColumnName, StringMgr.Encrypt(dt.Rows[][dt.Columns[i].ColumnName].ToString())); //加密
}
HttpContext.Current.Response.AppendCookie(cookie);
}
#endregion #region 初始化一个Cookie
/// <summary>
/// 初始化一个Cookie
/// </summary>
/// <param name="cookieName">cookie名称</param>
/// <param name="day">过期时间,天</param>
public static void InitCookie(string cookieName, int day) {
HttpCookie cookie = new HttpCookie(cookieName);
if (day != )
cookie.Expires = DateTime.Now.AddDays(day); cookie.Values.Add("initExpires", StringMgr.Encrypt(day.ToString()));
HttpContext.Current.Response.Cookies.Add(cookie);
}
#endregion #region 设置Cookie的其中一个值,如果键存在则覆盖以前的键值
/// <summary>
/// 附加一个Cookie的值,如果键值存在则覆盖以前的键值
/// </summary>
/// <param name="cookieName">Cookie名称</param>
/// <param name="key">需附加的键</param>
/// <param name="value">需附加的值</param>
public static void SetCookie(string cookieName, string key, string value) {
HttpCookie cookie = null;
if (HttpContext.Current.Request.Cookies[cookieName] != null) {
cookie = HttpContext.Current.Request.Cookies[cookieName];
} else
cookie = new HttpCookie(cookieName); bool b = false;
for (int i = ; i < cookie.Values.Keys.Count; i++) {
if (cookie.Values.Keys[i] == key) {
b = true;
break;
}
}
value = StringMgr.Encrypt(value);
if (b)
cookie.Values[key] = value;
else
cookie.Values.Add(key, value); for (int i = ; i < cookie.Values.Keys.Count; i++) {
if (cookie.Values.Keys[i] == "initExpires") {
cookie.Expires = DateTime.Now.AddDays(int.Parse(StringMgr.Decrypt(cookie.Values["initExpires"].ToString())));
break;
}
} HttpContext.Current.Response.Cookies.Add(cookie);
}
#endregion #region 读取Cookie的其中一个值
/// <summary>
/// 读取Cookie的其中一个值
/// </summary>
/// <param name="cookieName">Cookie名称</param>
/// <param name="key">需读取的键</param>
/// <returns>返回名为【CookieName】键为【key】的值</returns>
public static string GetCookie(string cookieName, string key) {
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
if (cookie != null && cookie.Values[key] != null)
return StringMgr.Decrypt(cookie.Values[key].ToString());
else
return Param.CookieErrorString;
}
#endregion #region 移除Cookie的其中一个值
/// <summary>
/// 移除Cookie的其中一个值
/// </summary>
/// <param name="cookieName">Cookie名称</param>
/// <param name="key">需附加的键</param>
public static void RemoveCookie(string cookieName, string key) {
HttpCookie cookie = null;
if (HttpContext.Current.Request.Cookies[cookieName] != null)
cookie = HttpContext.Current.Request.Cookies[cookieName];
else
cookie = new HttpCookie(cookieName); bool b = false;
for (int i = ; i < cookie.Values.Keys.Count; i++) {
if (cookie.Values.Keys[i] == key) {
b = true;
break;
}
}
if (b)
cookie.Values.Remove(key); for (int i = ; i < cookie.Values.Keys.Count; i++) {
if (cookie.Values.Keys[i] == "initExpires") {
cookie.Expires = DateTime.Now.AddDays(int.Parse(StringMgr.Decrypt(cookie.Values["initExpires"].ToString())));
break;
}
}
HttpContext.Current.Response.Cookies.Add(cookie);
}
#endregion #region 清空Cookie
/// <summary>
/// 清空Cookie
/// </summary>
/// <param name="cookieName">Cookie名称</param>
public static void ClearCookie(string cookieName) {
System.Web.HttpCookie cookie = new System.Web.HttpCookie(cookieName);
cookie.Expires = System.DateTime.Now.AddYears(-);
System.Web.HttpContext.Current.Response.AppendCookie(cookie);
}
#endregion #region 得到Cookie的集合
/// <summary>
/// 得到Cookie的集合
/// </summary>
/// <param name="cookieName">Cookie名称</param>
/// <returns>返回Cookie的集合</returns>
public static NameValueCollection GetCookieValues(string cookieName) {
if (HttpContext.Current.Request.Cookies[cookieName] != null) {
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
return cookie.Values;
} else
return null;
}
#endregion
}

保存DT到cookie

ookieMgr.SaveCookie(dt, "名称", 0);

获取cookie key值

CookieMgr.GetCookie("名称", "姓名");

asp.net操作cookie类,包含datatable批量存入cookie的更多相关文章

  1. MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

    MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...

  2. ASP.NET MVC NPOI导入Excel DataTable批量导入到数据库

    使用NPOI导入Excel 首先在MVC项目中导入NPOI 查询NPOI安装,排序依据,选择:最高下载量,选择第一个. 在控制器中创建ExcelController 在Index视图中写入代码: @u ...

  3. Cookie的使用、Cookie详解、HTTP cookies 详解、获取cookie的方法、客户端获取Cookie、深入解析cookie

    Cookie是指某些网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密),比如说有些网站需要登录才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我 ...

  4. .net使用SqlBulkCopy类操作DataTable批量插入数据库数据,然后分页查询坑

    在使用SqlBulkCopy类操作DataTable批量插入数据,这种操作插入数据的效率很高,就会导致每一条数据在保存的时间基本一样,在我们分页查询添加的数据是,使用数据的添加时间来排序就会出现每页的 ...

  5. asp.net操作cookie类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...

  6. Asp.net操作cookie大全

    实例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 ...

  7. ASP.NET 操作Cookie详解 增加,修改,删除

    ASP.NET 操作Cookie详解 增加,修改,删除 Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它 ...

  8. 非常不错的ASP操作数据库类,支持多数据库MSSQL,ACCESS,ORACLE,MYSQL等

    可同时操作多个不同类型的数据库. 完全不用考虑数据类型的差别,再也不用想字符型字段加不加单引号. 调用非常简单,对数据库的主要操作一般只需要一行代码. 支持mssql事务回滚. 可自动生成和输出sql ...

  9. ASP.NET操作Cookie

    1.生成Cookie public static void SetDataByCookie(string mainKey, string subKey, string value, string do ...

随机推荐

  1. HTML 学习笔记一

    一.学习HTML有什么用? 可以写网页,也就是网站上的一个页面. 二.HTML 代码是写给谁看的? HTML代码是给浏览器看的,当然,强大的人类也能看得懂,如果你觉得不累的话. 三.HTML的结构 & ...

  2. 2. DNN神经网络的反向更新(BP)

    1. DNN神经网络的前向传播(FeedForward) 2. DNN神经网络的反向更新(BP) 3. DNN神经网络的正则化 1. 前言 DNN前向传播介绍了DNN的网络是如何的从前向后的把数据传递 ...

  3. 基于jQuery实现滚动新闻代码下载

    分享一款基于jQuery实现滚动新闻代码下载.这是一款基于bootstrup 3实现的响应式jQuery滚动新闻插件.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  4. 关于dubbo的provider和consumer都配置timeout超时时间的情况

    本文转自:http://blog.csdn.net/lkforce/article/details/54380201 前言 在dubbo的provider和consumer的配置文件中,如果都配置了t ...

  5. thinkphp继承高级model后的乐观锁运用(测试中)

    <?php class IndexAction extends Action { private $d_user; private $user; private $arr; public fun ...

  6. 【Unity】角色受伤后的闪烁(blink/flash)效果

    玩家受伤后,一段时间内快速闪烁.这里想要的闪烁效果是玩家快速的显隐切换效果,而不是玩家变白的情况. 快速切换玩家的显隐效果不能用SetActive修改角色物体本身的激活状态,因为玩家角色身上的其他脚本 ...

  7. Feign从配置文件中读取url

    Feign的url和name都是可配置的,就是从配置文件中读取的属性值,然后用占位符引用就可以了: ${rpc.url} @FeignClient(name = "me", url ...

  8. ArrayList, Vector和CopyOnWriteArrayList对比学习

    ArrayList线程不安全的例子 线程安全就是多线程访问时,采用加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用.不会出现数据不一致或者数据 ...

  9. hadoop脑裂

    今天修改了和journalNode通信的zookeeper配置,原来没有打开zookeeper动态清理快照的功能. 所以3台zookeeper节点,每台修改完配置后,然后重启了下zookeeper服务 ...

  10. c# 读取excel数据的两种方法

    转载自:http://developer.51cto.com/art/201302/380622.htm, 方法一:OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不 ...