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 ...
随机推荐
- Facebook的Fairseq模型详解(Convolutional Sequence to Sequence Learning)
1. 前言 近年来,NLP领域发展迅速,而机器翻译是其中比较成功的一个应用,自从2016年谷歌宣布新一代谷歌翻译系统上线,神经机器翻译(NMT,neural machine translation)就 ...
- Eigen教程(5)
整理下Eigen库的教程,参考:http://eigen.tuxfamily.org/dox/index.html 块操作 块是matrix或array中的矩形子部分. 使用块 函数.block(), ...
- Sublime Text 3安装与使用,安装插件,快捷键,默认配置
本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔 ...
- 【linux】提醒"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低
原文链接:http://www.myexception.cn/linux-unix/1622052.html [linux]提示"libc.so.6: version `GLIBC_2.14 ...
- spring boot模仿reponseBody注解,自定义注解,返回值加上元数据
简介 ResponseBody是通过RequestResponseBodyMethodProcessor起作用的. 我们的做法是写一个包装类,替换掉他 问题:怎么替换呢? 取出 Spring的List ...
- 微服务之springCloud-docker-feign-hystrix(六)
简介 上一节我们讨论feign的配置,这节我们讨论一下,feign+hystrix调用生产者时,进行容错处理 一.创建模块(microservice-consumer-movie-feign-with ...
- Android仿华为天气绘制刻度盘
效果图 能够看到这个自己定义控件结合了颜色渐变.动态绘制刻度.动态水球效果.接下来我们就来看看这个效果是怎样一步一步实现的. 開始自己定义控件 和非常多自己定义控件方式一样须要去基础某种View或者某 ...
- [开发笔记]-C#获取pdf文档的页数
[操作pdf文档]之C#判断pdf文档的页数: /// <summary> /// 获取pdf文档的页数 /// </summary> /// <param name=& ...
- 【C】——如何生成静态库和动态库
对于一个编译型语言,编译器工作时总要经过预处理.编译.链接等几个过程.以 C/C++ 为例:预处理器(cpp)将每个 .c/.cpp 文件中 #include 的头文件都合并到 .c/.cpp 文件中 ...
- Spring @Value注解问题
xml配置了下面标签:<context:property-placeholder location="classpath:xxx.properties" /> 用spr ...