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. HttpClient4.3.6 实现https访问

    package httptest; import java.io.IOException; import java.nio.charset.Charset; import java.security. ...

  2. requirejs 合并方案

    http://snandy.iteye.com/blog/1595464 http://www.cnblogs.com/snandy/archive/2012/03/05/2378105.html h ...

  3. ASP.NET内置对象

    ASP.NET中有六个内置对象 Response:向客户端输出信息或设置客户端输出状态. Request:获取客户端信息. Server:访问服务器的方法和属性. Application:用于将信息保 ...

  4. 【Linux】鸟哥的Linux私房菜基础学习篇整理(六)

    1. 正则表达式特殊符号.[:alnum:]:代表英文大小写字符及数字:[:alpha:]:代表英文大小写字符:[:blank:]:代表空格键与[Tab]键:[:cntrl:]:代表键盘上的控制键,即 ...

  5. Linux kernel ‘net/key/af_key.c’信息泄露漏洞

    漏洞名称: Linux kernel ‘net/key/af_key.c’信息泄露漏洞 CNNVD编号: CNNVD-201307-071 发布时间: 2013-07-05 更新时间: 2013-07 ...

  6. (转载)PCNTL函数族--PHP多进程编程

    (转载)http://www.cnblogs.com/zox2011/archive/2013/02/19/2917448.html php有一组进程控制函数,使得php能在*nix系统中实现跟c一样 ...

  7. 【模拟】Codeforces 691C Exponential notation

    题目链接: http://codeforces.com/problemset/problem/691/C 题目大意: 输入一个数,把它表示成a·10b形式(aEb).输出aEb,1<=a< ...

  8. SQL条件表达式

    需求:数据表中如果满足某个条件,返回表中所有数据,否则不返回数据. 语法:CASE 表达式是一种通用的条件表达式,类似于其它语言中的 if/else 语句. CASE WHEN condition T ...

  9. php数组和字符串转换

    PHP 中由于数组和字符串这两种变量类型是如此常用,以至于 PHP 具有两个函数,可以在字符串和数组之间互相进行转换. $array=explode(separator,$string); $stri ...

  10. Away3D 4.1.4 中实现骨骼绑定

    骨骼的绑定归根结底就是将目标骨骼的位置以及旋转数据,同步给要绑定的显示对象. 先来看BindingTag.as package away3d.entities {     import away3d. ...