快速业务通道

宝刀不老:Cookie

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
ookie 对象在页面之间传值与使用 Session 对象在页面之间传值的方法一样, 但两者有本质区别. 即Cookie 是存放在客户端的, 而 Session 是存放在服务器端的. Cookie 在使用时, 还需要配合 Asp.net 内置对象 Request.

使用 Cookie 对象传送信息的代码如下:

使用Cookie传客户信息

if (txtName.Text == "A" && txtPassword.Text == "a")
{
HttpCookie newCookie = new HttpCookie("UserName");
newCookie.Value = txtName.Text.Trim();
Response.AppendCookie(newCookie);
Server.Transfer("B.aspx");
}
else
{
Response.Write("<script>alert(''登录失败!'');</script>");
}

在 目标页面 (B.aspx)中, 接收 Cookie 对象传来的值, 并将其显示在界面上, 代码如下:

接收

Label1.Text = Request.Cookies["UserName"].Value.ToString();

5. 使用 Cookie 验证用户登录.

使用 Cookie 来验证用户登录, 首先需要将登录信息保存在 Cookie 对象中, 然后读取并验证.

以例为例, 当用户注册时 ( 当然很多情况下也可以是用户退出系统 ), 将用户和用户密码保存在 Cookie 对象中, 代码如下: 

使用注册时保存Cookie

Response.Cookies["SavedLogin"]["UserName"] =txtName.Text.Trim();
Response.Cookies["SavedLogin"]["UserPwd"] = txtPassword.Text.Trim();
Response.Cookies["SavedLogin"].Expires = DateTime.Now.AddDays(1);
Response.Write("<script>alert(''注册成功!'');location=''Default.aspx'';</script>");

而当用户登录时, 首先判断 Cookie 对象是否失效, 如果没有失效, 则判断用户输入的信息与 Cookie 对象中保存的信息是否一致, 如果一致, 就进行其他操作. 代码如下:

if (Request.Cookies["SavedLogin"] == null)
{
Response.Write("<script>alert(''Cookie 失效!'');location=''Default.aspx'';</script>");
}
else
{
if (txtName.Text == Request.Cookies["SavedLogin"]
["UserName"].ToString() && txtPassword.Text ==
Request.Cookies["SavedLogin"]["UserPwd"].ToString())
{
Session["UserName"] = txtName.Text.Trim();
Response.Redirect("NavigatePage.aspx");
}
else
{
Response.Write("<script>alert(''登录失败!'')");
}
}

6. 创建及存取多个键值的 Cookie 对象.

多键值的应用其实是一种 "分类" 思想, 把某一类信息存储在一起. 实现方法是

使用 Response 对象可以创建多个数据值的 Cookie, 语法如下:

Response.Cookies["CookieName"]["KeyName"]="Cookie中相对索引键的值";

例如, 使用多键值保存用户名与密码. 代码如下:

使用Cookie存储多键值信息

if (txtName.Text == "A" && txtPassword.Text == "a")
{
Response.Cookies["UserInfo"]["UserName"] = this.txtName.Text.Trim();
Response.Cookies["UserInfo"]["UserPwd"] = this.txtPassword.Text.Trim();
Response.Redirect("B.aspx");
}
else
{
Response.Write("<script>alert(''登录失败!'');</script>");
}

当发出网页请求时, 浏览器会将 Cookie 信息发送到服务器. 在服务器端, 可以使用 Request 对象来存取 Cookie中的数据值. 语法格式有以下3种形式.

方法一: 直接取出数据值

stirng str1=Response.Cookies["Cookie

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号