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. python 单元测试

    http://blog.csdn.net/five3/article/details/7104466

  2. SharePoint DataFormWebPart 通过Caml和xslt聚合内容

    以下是一个例子,SPDataSource用于查询内容,DatasourceMode属性指定查询范围(网站集,网站,列表),SelectCommand是Caml查询:Xsl展示内容,下面列子是用tabl ...

  3. Color the Fence

    Codeforces Round #202 (Div. 2) B:http://codeforces.com/problemset/problem/349/B 题意:给你一些颜料,然后你可以用这些颜料 ...

  4. 关于如何在BCB中使用CodeGuard

    作者:深圳虫 来自:深圳虫网本文来自http://www.szbug.com/disparticle.aspID=4 一. 为什么写这篇东西自己在使用BCB5写一些程序时需要检查很多东西,例如内存泄漏 ...

  5. COJ 3007 Mr.Yang的小助手

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=1037 试题描述: 信息学社团已经逐渐发展壮大,成员也越来越多.现在,有n个 ...

  6. BZOJ1572: [Usaco2009 Open]工作安排Job

    1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 775  Solved: 337[Submit ...

  7. 数据结构(线段树):BZOJ 1568 [JSOI2008]Blue Mary开公司

    1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 602  Solved: 214[Submit ...

  8. 算法优化(动态规划):COGS 2009. [USACO Mar09]餐厅清扫

    2009. [USACO Mar09]餐厅清扫 ★★☆   输入文件:cleanup.in   输出文件:cleanup.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] ...

  9. SharePoint Server 2007 Enterprise Key

    正式版 key SN: Tkjcb-3wkhk-2ty2t-qymk2-9xm2y 这个版本也是通过Key来区分是否是测试版还是正式版的 也就是说你输入正式版的Key他就是正式版,输入Enterpri ...

  10. FZYZ-2071 A Simple Math Problem IX

    P2071 -- A Simple Math Problem IX 时间限制:1000MS      内存限制:262144KB 状态:Accepted      标签:    数学问题-博弈论    ...