三沣开发知识 购物 网址 游戏 小说 歌词 地图 快照 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 开发 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题
autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml
html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> .NET新手区 -> Cookie的简单用法 -> 正文阅读
 

[.NET新手区]Cookie的简单用法

Cookie的简单用法  Cookie大家肯定很熟悉了,平时用的地方很多,现在我简单的介绍其的增删改查的方法,当然核心还是添加现在先给一个简单的图来说明添加Cookie的两种方式

现在开始慢慢解释以上的图
第一步:添加Cookie
添加Cookie有两种方式一种带子键的另外一种没有。其实我们可以把Cookie当做一个对象
1:没有子键的添加
我们先给我们创建的Cookie取一个名字,然后在这个Cookie进行赋值,当然可以设置Cookie的其他属性比喻过期时间是咱们最常用的,最后添加response中,这样就添加一个Cookie了。
2:有子键的添加
同样需要给新建的Cookie取一个名字,然后给Cookie对象添加子键,并且赋值

#region 添加Cookie
        /// <summary>
        /// 设置一个cookie值
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="duration">持续时间,默认单位为4小时</param>
        public static void SetCookie(string cookieName, string key, string value, double duration = 4.0) {
            if (HttpContext.Current == null || string.IsNullOrEmpty(key) || string.IsNullOrEmpty(value)) return;
            var cookie = new HttpCookie(cookieName);//创建并命名新的Cookie。
            cookie.Expires = DateTime.Now.AddHours(4.0);//设置过期时间
            if (!string.IsNullOrEmpty(key)) {
                cookie.Values.Add(key, value);//有子键
            }
            else {
                cookie.Value = value;//没有子键
            }
            HttpContext.Current.Response.Cookies.Add(cookie);
        }

        #endregion

第二步:删除Cookie
删除Cookie同样考虑是否存在子键,如果有子键就删除这个子键,没有没有直接就移除这个Cookie

#region 删除Cookie
        /// <summary>
        /// 删除Cookie
        /// </summary>
        /// <param name="cookieName">Cookie名称</param>
        /// <param name="key">Cookie子键</param>
        public static void Delete(string cookieName, string key) {
            HttpResponse response = HttpContext.Current.Response;
            if (response != null) {
                HttpCookie cookie = response.Cookies[cookieName];
                if (cookie != null) {
                    if (!string.IsNullOrEmpty(key) && cookie.HasKeys) {
                        cookie.Values.Remove(key);
                    }
                    else {
                        response.Cookies.Remove(cookieName);
                    }
                }
            }
        }

        #endregion

第三步:获取Cookie
获取Cookie也是通过Cookie名称或者Cookie名称和子键来获取看以下代码

    #region 获取Cookie
        /// <summary>
        /// 根据Cookie名称和子键获取Cookie值(子键可为空)
        /// </summary>
        /// <param name="CookieName">Cookie名称</param>
        /// <param name="Key">Cookie子键</param>
        /// <returns></returns>
        public static string GetValue(string cookieName, string key) {
            if (string.IsNullOrEmpty(cookieName) || HttpContext.Current.Request == null) {
                return "";
            }
            if (HttpContext.Current.Request.Cookies[cookieName] != null) {
                if (!string.IsNullOrEmpty(key) && HttpContext.Current.Request.Cookies[cookieName].HasKeys) {
                    return HttpContext.Current.Request.Cookies[cookieName].Values[key];
                }
                else {
                    return HttpContext.Current.Request.Cookies[cookieName].Value;
                }
            }
            return "";
        }
        #endregion

  .NET新手区 最新文章
2017年10月21日 CSS常用样式&鼠标样式
EventLog组件读写事件日志
Visual Studio 2017 系统发布部署服务器教程
多线程编程学习笔记
如何在已有项目中引入FineUIMvc
多线程编程学习笔记
WebAPI搭建(二) 让WebAPI 返回JSON格式的
Linq中Take、TakeWhile、Skip、SkipWhile的
[C#] C# 基础回顾
page.ClientScript.RegisterStartupScript
上一篇文章      下一篇文章      查看所有文章
加:2015-09-08 16:49:58  更:2017-05-14 05:47:30 
 
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年10日历
2017-10-22 7:07:24
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库