单值cookie结构

CookieKeyName——CookieValue

CookieKeyName2——CookieValue2

...............

通过CookieKeyName进行设置和调用(主键名称)

类似于字符串变量

多值Cookie 结构

【主键(Key)名称】

    【子健(key)名称】:【子健值】

    【子健(key)名称2】:【子健值2】

    【子健(key)名称3】:【子健值3】

【主键(key)名称2】

      【子健(key)名称】:【子健值】

    【子健(key)名称2】:【子健值2】

    【子健(key)名称3】:【子健值3】

注意:最终我们需要调用子健值,需要挖2层才能看到子健值。更像一个字符串数组

Cookie操作需要掌握

单值Cookie            多值Cookie

添加(修改)          主键操作

删除                -添加

                  -删除

                 子健操作

                  -添加

                  -删除

                  -修改

多值Cookie的添加

HttpCookie ck =new HttpCookie(“mulitCookie”)  主键“mulit”

ck.value.add("name","小王");       子健“name”

ck.value.add("age","18");

ck.value.add("sex","男");

ck.Expires=DateTime.MaxValue;

Response.Cookie.add(ck);

多值Cookie主键删除

方法与清楚单值的Cookie完全相同

  ck.Expires=DateTime.Minvalue;

  Response.Cookie["keyname"].Expires=datetime.minvalue;

另一种非标准的写法:

  ck=response.cookie["keyname"];

  会在会话期间,保留一个没有Value的空key

子健修改

对子健的调用:Cookie.Value对象集合添加一个子项:ck.value.add("...","...")

修改子健的值:ck.value.set("keyname","newkeyname");

注意:子健值的修改,不能象单值Cookie用add,而必须用set。

实例:

  

  protected void btnx_Click(object sender, EventArgs e)
{
//声明Cookie并创建
HttpCookie ck = new HttpCookie("cookie");
//设置子健值
ck.Values.Add("name","张三");
ck.Values.Add("sex","男");
ck.Values.Add("age","");
//设置过期时间:永不过期
ck.Expires = DateTime.MaxValue;
//写入客户端
Response.Cookies.Add(ck); }
//跳转接受页面
protected void btnlogin_Click(object sender, EventArgs e)
{
Response.Redirect("CookieInfo.aspx");
}
//删除Cookie
protected void btndelect_Click(object sender, EventArgs e)
{
//删除整个Cookie
Response.Cookies["cookie"].Expires = DateTime.MinValue; }
//修改子健
protected void btnupdate_Click(object sender, EventArgs e)
{
string upname = txtname.Text;
if (upname!="")
{
HttpCookie ck = Request.Cookies["cookie"];
ck.Values.Add("name", upname);
ck.Expires = DateTime.MaxValue;
//写入客户端
Response.Cookies.Add(ck);
}
}

接收

 protected void Page_Load(object sender, EventArgs e)
{
if (Response.Cookies["cookie"]!=null)
{
//这样写语句太长,台繁琐
//lab.Text += Request.Cookies["cookie"].Values["name"] + ",";
//lab.Text += Request.Cookies["cookie"].Values["sex"] + ",";
//lab.Text += Request.Cookies["cookie"].Values["age"] + "岁"; //这样写一幕了然,Response 是响应页的对象 Request是请求页的对象
HttpCookie _ck;
_ck = Request.Cookies["cookie"];
lab.Text = _ck.Values["name"] + "," + _ck.Values["sex"] + "," + _ck.Values["age"] + "岁"; }

跨页面传值2之cookie多值使用的更多相关文章

  1. 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...

  2. WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性和超链接点击弹出警示框

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值方式: href="地址?key=v ...

  3. 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】

    阅读目录 1. URL 链接后追加参数 2. Form 3. 设置 Cookie 4. 设置 Session JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总 ...

  4. angularJs 跨控制器与跨页面传值

    虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种 首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类 1.跨控制器传值—— $rootS ...

  5. 跨页面传值之QueryString

    跨页面传值常用方法 1.QueryString 2.Form-post控件传递 3.Cookies传递 4.Application传递 5.Session传递(灵活强大) 1.query传值 http ...

  6. mui框架开发aop的跨页面传值

    mui开发跨平台app,其实不乏会涉及到跨页面传值,今天给大家简单介绍一种常用也是简单的传值方法 咱在这里设置一个场景,就是两个页面进入到同一页面展示不同的元素,此时需要在这两个页面各自设置一个区别的 ...

  7. Web内置对象 跨页面传值

    内置对象: 1.QueryString - 地址栏数据拼接 get传值方式 格式:?key=value优点:简单好用,速度快,不消耗服务器内存. 缺点:只能传字符串,保密性不好,长度有限 Reques ...

  8. asp.net 跨页面传值常用方法

    常用方法有以下: 1.queryString 2.form-post控件传递 3.cookie 4.application 5.session querystring: http://website. ...

  9. ASP.NET跨页面传值技巧[总结]

    个人网站:http://www.51pansou.com .net视频下载:.net视频教程 .net源码下载:.net源码 关于页面传值的方法,我就我个人观点做了些总结,希望对大家有所帮助. 1.  ...

随机推荐

  1. mysql 行转列,对列的分组求和,对行求和

    CREATE TABLE students( id INT PRIMARY KEY, NAME VARCHAR(11)); CREATE TABLE courses( id INT PRIMARY K ...

  2. xcode9 上传app后iTues 构建版本不显示

    1.问题原因 苹果公司更新了ios10系统和xcode9以后,做了许多调整,如果开发者没有注意就会遇到这样那样的问题.作者在更新以后就遇到了上传app到appstore成功后,没有显示的问题.下面就介 ...

  3. dos窗口运行java文件需要jar依赖

    执行java文件时候,有些里面依赖了java之外的jar,这是识别不到的,运行java命令的时候,带上jar路径: java -cp .;jar路径(加上jar名字)  java文件名 例:java ...

  4. python 时间相关函数

    python 中与时间处理相关的模块包括 time.datetime.以及 calendar time 模块 time() 函数:time() 函数用于返回当前时间的时间戳(1970年01月08时00 ...

  5. [Swift]八大排序算法(七):归并排序

    排序分为内部排序和外部排序. 内部排序:是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列. 外部排序:指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存 ...

  6. Github 三种克隆模式

    1.我称为平常模式,用于项目的本地克隆使用.(无权限.无加密.ssh protocol) git clone http://github.com/username/exampleproject 2.我 ...

  7. 12、OpenCV Python 图像梯度

    __author__ = "WSX" import cv2 as cv import numpy as np def lapalian_demo(image): #拉普拉斯算子 # ...

  8. 从pg_hba.conf文件谈谈postgresql的连接认证

    最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...

  9. PHP常用人工智能库

    1.NLPTools(http://php-nlp-tools.com/)NLPTools是一个PHP自然语言处理库.能进行文本分级,聚类等操作.2.Prediction Builder(https: ...

  10. <转> django模板语言filter方法

    Django的模板是一个简单的文本文件,它可以生成任何文本格式(HTML.XML.CSV等),在本文开始之前先看一个Django模板的例子: 从这个例子中可以看到,模板标签可以是单独出现的,如exte ...