using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
///CookiesSel 的摘要说明
/// </summary>
public class CookiesSel
{
public CookiesSel()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
private static HttpResponse respone = HttpContext.Current.Response;
private static HttpRequest requst = HttpContext.Current.Request;
/// <summary>
/// 添加cookie并写入value
/// </summary>
/// <param name="cookName">新建的cookie的名称</param>
/// <param name="cookValue">新建的cookie的值</param>
/// <param name="expriTime">cookie的有效期以天为单位,-2表示不设置有效期</param>
public static void AddCookies(string cookName, string cookValue, double expriTime)
{
if (requst.Cookies[cookName] != null)
{
DelCookies(cookName);
}
HttpCookie cook = new HttpCookie(cookName);
if (expriTime != -2)
cook.Expires = DateTime.Now.AddDays(expriTime);
cook.Value = cookValue;
respone.AppendCookie(cook);
}
/// <summary>
/// 添加有键值的cookie
/// </summary>
/// <param name="cookName">cookie的名称</param>
/// <param name="key">cookie内键值的名称</param>
/// <param name="keyValue">cookie的键值value</param>
/// <param name="expritime">cookie的有效期以天为单位,-2表示不设置有效期</param>
public static void AddCookies(string cookName, string key, string keyValue, double expritime)
{
HttpCookie cook = new HttpCookie(cookName);
if (!string.IsNullOrEmpty(key))
cook.Values.Add(key, keyValue);
if (expritime != -2)
cook.Expires = DateTime.Now.AddDays(expritime);
respone.AppendCookie(cook);
}
/// <summary>
/// 设置cookie的有效期过期(删除cookie)
/// </summary>
/// <param name="cookName">要设置的cookie的名称</param>
public static void DelCookies(string cookName)
{
DelCookiesValue(cookName, null);
}
/// <summary>
/// 删除cookie或者删除cookie的键值
/// </summary>
/// <param name="cookName">cookie的名称</param>
/// <param name="key">键值的名称(如果为NULL则运行删除cookie的代码,否则运行删除cookie中的键值的代码)</param>
public static void DelCookiesValue(string cookName, string key)
{
HttpCookie cook = requst.Cookies[cookName];
if (cook != null)
{
if (!string.IsNullOrEmpty(key) && cook.HasKeys)
{
if (cook.Values.Count <= 1)
cook.Expires = DateTime.Now.AddDays(-1);
else
cook.Values.Remove(key);
respone.AppendCookie(cook);
}
else
{
cook.Expires = DateTime.Now.AddDays(-1);
respone.AppendCookie(cook);
}
}
}
/// <summary>
/// 获取cookie的值
/// </summary>
/// <param name="cookName">cookie的名称</param>
/// <returns>返回cookie的值,如果不存在cookie则返回NULL</returns>
public static string GetCookieValue(string cookName)
{
return GetCookieOrKeyValue(cookName, null);
}
/// <summary>
/// 获取cookie的值或cookie的键值
/// </summary>
/// <param name="cookName">cookie的名称</param>
/// <param name="keyName">cookie内键值的名称(NULL代表获取cookie的值)</param>
/// <returns>返回cookie的值或者键值,如果不存在cookie则返回NULL</returns>
public static string GetCookieOrKeyValue(string cookName, string keyName)
{
HttpCookie cook = requst.Cookies[cookName];
if (cook != null)
{
if (!string.IsNullOrEmpty(keyName) && cook.HasKeys)
return cook.Values[keyName].ToString();
else
return cook.Value.ToString();
}
else
return null;
}
}

asp.net操作cookie类的更多相关文章

  1. asp.net操作cookie类,包含datatable批量存入cookie

    以下是类: public class CookieMgr { #region 快速储存Cookie /// <summary> /// 快速储存Cookie /// </summar ...

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

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

  3. 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 ...

  4. ASP.NET操作Cookie

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

  5. C# 操作Cookie类

    1.Cookie操作类 using System; using System.Data; using System.Configuration;using System.Web;using Syste ...

  6. asp.net5 操作Cookie

    写入Cookie var CookieOption = new CookieOptions(); CookieOption.Path = "/"; //on localhost, ...

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

    Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它是网景公司的前雇员Lou Montulli在1993年3 ...

  8. 【基础】Asp.Net操作Cookie总结

    一.什么是Cookie? Cookie是存储在客户端文件系统的文本文件或客户端浏览器对话的内存中的少量数据.它主要用来跟踪数据设置,例如:当我们要访问一个网站网页的时候,用户请求网页时,应用程序可能会 ...

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

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

随机推荐

  1. 非正式js语法

    有一种格式化的变种(该变种没有通过JSLint测试)略过了花括号,并将if语句放在同一行中. 这样做的好处是该循环语句变得可读性更强(对于每个拥有属性X的元素,就直接对X进行操作). 这样做的结果是只 ...

  2. unity 基础学习 transform

    unity  基础学习   transform 1.unity采用的是右手坐标系,X轴右手为+,Y轴向上为+,Z轴朝里为+; 但是我们从3D MAX中导入模型之后,发现轴向并没有遵从这个原理, 其实是 ...

  3. xp下删除windows7,无法删除windows7文件夹,无法删除windows7文件,双系统卸载,取得文件权限

    http://blog.csdn.net/lanmanck/article/details/5722050 ---------------------------------------------- ...

  4. Arrays.sort的粗略讲解

    排序算法,基本的高级语言都有一些提供.C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array).用这些排序时,都可以写自己的排序规则. Java API对A ...

  5. Sudoku(回溯)

    Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12075   Accepted: 6026   Special Judge ...

  6. 微信下载APK

    腾讯应用宝 微信屏蔽了来源不是腾讯的APK function isWeixin() { var ua = navigator.userAgent.toLowerCase() if(ua.match(/ ...

  7. 2015第37周一struts2 jstl 标签

    1.在jstl中使用struts2  <c:forEach var="ee" items="${requestScope.serviceList}" &g ...

  8. VS2010如何生成release文件

    点击生成-->配置管理器-->活动解决方案配置下拉菜单中选择release就行了,最后再编译一下就在相应的目录下生成了

  9. Contains Duplicate III —— LeetCode

    Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...

  10. 第一个ios程序

    1.ios的理解: Operating System,简称OS,操作系统,ios是苹果操作系统. 2.Xcode开发环境: 苹果公司开发的编程软件,是开发人员建立OS X 和 iOS 应用程序的最快捷 ...