asp.net操作cookie类,包含datatable批量存入cookie
以下是类:
- 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的更多相关文章
- MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...
- ASP.NET MVC NPOI导入Excel DataTable批量导入到数据库
使用NPOI导入Excel 首先在MVC项目中导入NPOI 查询NPOI安装,排序依据,选择:最高下载量,选择第一个. 在控制器中创建ExcelController 在Index视图中写入代码: @u ...
- Cookie的使用、Cookie详解、HTTP cookies 详解、获取cookie的方法、客户端获取Cookie、深入解析cookie
Cookie是指某些网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密),比如说有些网站需要登录才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我 ...
- .net使用SqlBulkCopy类操作DataTable批量插入数据库数据,然后分页查询坑
在使用SqlBulkCopy类操作DataTable批量插入数据,这种操作插入数据的效率很高,就会导致每一条数据在保存的时间基本一样,在我们分页查询添加的数据是,使用数据的添加时间来排序就会出现每页的 ...
- asp.net操作cookie类
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...
- 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 ...
- ASP.NET 操作Cookie详解 增加,修改,删除
ASP.NET 操作Cookie详解 增加,修改,删除 Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它 ...
- 非常不错的ASP操作数据库类,支持多数据库MSSQL,ACCESS,ORACLE,MYSQL等
可同时操作多个不同类型的数据库. 完全不用考虑数据类型的差别,再也不用想字符型字段加不加单引号. 调用非常简单,对数据库的主要操作一般只需要一行代码. 支持mssql事务回滚. 可自动生成和输出sql ...
- ASP.NET操作Cookie
1.生成Cookie public static void SetDataByCookie(string mainKey, string subKey, string value, string do ...
随机推荐
- C#学习笔记(12)——三种方法操作XML
说明(2017-7-11 16:56:13): 原文地址: C#中常用的几种读取XML文件的方法 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web. ...
- [转]java按指定编码写入和读取文件内容的类
读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,R ...
- hystrix服务降级和服务熔断的区别
故事的背景是这样的:由于小强在工作中碰到一些问题,于是想请教一下业界大牛小壮.于是发生了下面的两个场景: 小强在拿起常用手机拨号时发现该手机没有能够拨通,所以就拿出了备用手机拨通了某A的电话,这个过程 ...
- win7下memCache安装过程
1.下载memcache 的windows 稳定版,解压放某个盘下面,比如在H:/wamp/www/php api/memcache: 2.在终端(即cmd 命令界面)下,输入安装命令 :H:/wam ...
- C语言 · 算年龄
算年龄 英国数学家德摩根出生于19世纪初叶(即18xx年). 他年少时便很有才华.一次有人问他的年龄,他回答说: “到了x的平方那年,我刚好是x岁”. 请你计算一下,德摩根到底出生在哪一年. 题中的年 ...
- [shell]shell 中| && || () {} 用法以及shell的逻辑与或非
转自:https://www.jianshu.com/p/617c1ee1e46e | 运算符 管道符号,是unix一个很强大的功能,符号为一条竖线:"|".用法: command ...
- winsock.h与winsock2.h出现重定义或不同的链接
经常遇到编译socket程序的时候生成几百个错误 以下是出错后的错误信息: >c:\program files\microsoft sdks\windows\v6.0a\include\ws2d ...
- jQuery笔记二——基础/动画
1. jQuery的基础语法: $(selector).action() 2. 很多jQuery的语句放在ready里面 $(document).ready(function(){ // jQuery ...
- PCL行人检测
首先我们知道Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很 ...
- Android 开发 打开默认浏览器发生崩溃
Android 开发 打开默认浏览器发生崩溃. 代码如下: Intent intent = new Intent(); intent.setAction("Android.intent.ac ...