Webform(六)——登录状态保持(Cookies内置对…
2018-06-17 22:25:23来源:未知 阅读 ()
用户用浏览器访问一个网站,由于采用的http的特性,Web服务器并不能知道是哪一个用户正在访问,但一些网站,希望能够知道访问者的一些信息,例如是不是第一次访问,访问者上次访问时是否有未做完的工作,这次是否为其继续工作提供方便等等。用浏览器访问一个网站,可以在此网站的网页之间跳转,当从第一个网页转到第二个网页时,第一个网页中建立的所有变量和对象都将不存在。有时希望在这些被访问的网页中建立联系,例如一个网上商店,访问者可能从不同的网页中选取不同的商品,那么用什么办法记录该访问者选取的商品,也就是一般所说的购物筐如何实现。用Cookie对象可以解决以上问题。
一、cookies
简单摘要:
在用户电脑的硬盘上保存的一段文本
http协议包括浏览器,允许站点在用户电脑上以Cookies的形式来临时保存数据
如果没有设置保存时间,即会话cookies时:
1、如果你20分钟内没有再次刷新页面,那么此cookies就会自动删除掉
2、当前访问连接中断,如关闭浏览器,那么cookies会自动删除
如果设置保存时间,到时间后,cookies会自动删除
当然,cookies的保存与否,关键在用户,用户可以手动清楚cookie。
作用:保持用户的登陆状态
用法:
1、获取账号:Response.Cookies["user"].Value = TextBox1.Text;
2、给该账号设置登录保持的过期时间:Response.Cookies["user"].Expires = DateTime.Now.AddDays(7);
3、清除cookies:Response.Cookies["user"].Expires = DateTime.Now.AddDays(-5); 只要让数值为负即可,表示已过期几天
二、登录状态保持实例
建立登录Login页面:
前台代码:
<form id="form1" runat="server"> 用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> 密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /> <asp:CheckBox ID="CheckBox1" runat="server" /><label for="CheckBox1">记住登陆状态7天</label><br /> <asp:Button ID="Button1" runat="server" Text="登陆" /> </form>
后台代码:
protected void Page_Load(object sender, EventArgs e) { Button1.Click += Button1_Click; } void Button1_Click(object sender, EventArgs e) { //取值,数据库查询 bool ok = new UsersDA().Select(TextBox1.Text, TextBox2.Text); if (ok) { //若查到数据,即可以登陆成功 Response.Cookies["user"].Value = TextBox1.Text; if (CheckBox1.Checked) { //给cookies设置保存时间 Response.Cookies["user"].Expires = DateTime.Now.AddDays(7); } Response.Redirect("Main.aspx"); }
主界面Main后台代码:
//判断,cookies是否为空,不为空,根据cookies传的值查询 if (Request.Cookies["user"] != null) { Users u = new UsersDA().Select(Request.Cookies["user"].Value); Labdl.Text = u.NickName; Literal1.Text = ",欢迎你!"; } //为空,跳转登录页面 else { Response.Redirect("Login.aspx"); }
有登陆就有退出登录:
Main主界面退出登录前台代码:
<asp:Button ID="Btntc" runat="server" Text="退出登陆" />
后台代码(清除cookies):
void Btntc_Click(object sender, EventArgs e) { //1清除cookies Response.Cookies["user"].Expires = DateTime.Now.AddDays(-5); //2刷新页面/跳到登陆页面 Response.Redirect("Login.aspx"); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:repeater使用
- Django项目中使用qq第三方登录。 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- python爬虫学习之淘宝模拟登录 2019-08-13
- python第一天---我要入个门 2019-07-24
- 利用Python模拟登录pastebin.com 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash