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. BZOJ 3091 城市旅行

    Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample ...

  2. Mysql中类似于nvl()函数的ifnull()函数

    IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. mysq ...

  3. 通用GPIO模拟串口,提供源代码,本人经过测试OK(第一版)

    --------------------------serial.h------------------------------------------ #ifndef _SERIAL_H_ #def ...

  4. 连接各种数据库神器———DbVisualizer

    作为开发人员,经常会遇到在不同的数据库环境中进行开发或者调试,所以针对每种数据库都要安装对应的客户端,不但要占用硬盘控件而且还要经常切换,无可厚非这是一项头疼并且麻烦的事情.有了DbVisualize ...

  5. Yii框架下不同contoller之间的方法调用

    一个contoller CustomerController里怎么调用另一个controller里的action,Acontoller调用SiteContoller的actionShow($id), ...

  6. texedo 分布式事务

    1.问题现象 但是实际情况,完全出乎笔者的想法.检查一般对象数据表锁定,只需要检查v$locked_object和v$transaction视图,就可以定位到具体人.但是检查之后的结果如下: SQL& ...

  7. The fundamental knowledge of Node JS.

    D3 JSJava scirpt is an awesome language for Internface Design.All Obejcts in JavaScirpt could be use ...

  8. POJ 3189 Steady Cow Assignment

    题意:每个奶牛对所有的牛棚有个排名(根据喜欢程度排的),每个牛棚能够入住的牛的数量有个上限,重新给牛分配牛棚,使牛棚在牛心中的排名差(所有牛中最大排名和最小排名之差)最小.   题目输入: 首先是两个 ...

  9. 用SD卡下载uboot、linux内核和文件系统

    1. 移植mtd-utils: a) 下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/b) 交叉编译mtd-utilsi   修改Make ...

  10. Windows7 搜索功能关闭了,怎么重新打开

    你的搜索功能被关闭了,打开cmd.exe,进入windows\system32输入OptionalFeatures.exe,里面有搜索功能选项,选择他.重新启动.