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 ...
随机推荐
- mysql 常用指令集合
show variables ——显示系统变量(扩展show variables like 'XXX') 在MYSQL的主从复制中 ,通过命令show master status,可以查看maste ...
- java基础篇---I/O技术(二)
接着上篇http://www.cnblogs.com/oumyye/p/4314412.html java I/O流---内存操作流 ByteArrayInputStream和ByteArrayOut ...
- 【微信小程序】下拉刷新真机测试无效
根据文档的描述,做上拉加载时直接实现页面的onReachBottom()函数即可.但是要做下拉刷新时,除了实现onPullDownRefresh()函数外,还必须要在app.json中配置开启enab ...
- (转载)WPF中的动画——(一)基本概念
http://www.cnblogs.com/TianFang/p/4050845.html WPF的一个特点就是支持动画,我们可以非常容易的实现漂亮大方的界面.首先,我们来复习一下动画的基本概念.计 ...
- virtualbox 安装 USB 扩展功能
virtualbox USB 扩展包下载 扩展包下载地址: http://download.virtualbox.org/virtualbox/ 选择你的 virtualbox 版本 看版本在 vir ...
- [lsof]lsof查看哪些设备/文件被占用或者打开
转自:http://blog.csdn.net/yuzhihui_no1/article/details/51767516 最近在查一个Bug,应用程序kill之后重启,总是会出现adc的设备open ...
- FutureTask 源码分析
FutureTask 源码分析,这个类的原理与我分析android当中的FutureTask类差不多[http://www.cnblogs.com/daxin/p/3802392.html] publ ...
- 设置一个按钮为一个图片,不要border
//设置一个按钮为一个图片,不要border ImageIcon searchIcon = ImageToolkit.loadImageIcon(/search.png"); ImageIc ...
- SpringBoot2 全局异常处理
参考这篇文章里面的几种异常形式: 全局异常处理是个比较重要的功能,一般在项目里都会用到. 大概把一次请求分成三个阶段,来分别进行全局的异常处理. 一:在进入Controller之前,譬如请求一个不存在 ...
- Spring配置文件<context:property-placeholder>标签使用漫谈
<context:property-placeholder>标签提供了一种优雅的外在化参数配置的方式,不过该标签在Spring配置文件中只能存在一份!!! 众所周知,Spring容器是采用 ...