• Asp.Net登陆记住用户功能实现


    1.效果和原理

    2014-04-14_223024

    原理是利用Asp.net的Cookies。选中CheckBox,把输入的用户名和密码用Cookies存储起来,设置过期时间7天,超过时间自动清除Cookie信息。

    2.前台代码

    复制代码
    <div>
            <asp:Label ID="Label1" runat="server" Text="用户名"></asp:Label>
               <asp:TextBox ID="Name" runat="server"></asp:TextBox>
        <br />
            
             <asp:Label ID="Label2" runat="server" Text="密码"></asp:Label>
               <asp:TextBox ID="PassWord" TextMode="Password" runat="server"></asp:TextBox>
    
       
        <br />
    
        <asp:CheckBox ID="CheckBox1" runat="server" />   <br /><asp:Button ID="Button1" runat="server"
            Text="登陆"  OnClick="Btn_Click"/>
        </div>
    复制代码

    3.后台代码

    复制代码
    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    if (Request.Cookies["Name"] != null && Request.Cookies["Password"] != null)
                    {
                        this.Name.Text = Request.Cookies["Name"].Value;
                        this.PassWord.Attributes["value"] = Request.Cookies["Password"].Value;
                    }
                }
            }
    复制代码

    首先判断页是第一次呈现还是为了响应回发而加载,如果不是为了响应回发加载,如果Cookies存储的用户名不是空且密码也不是空。那么把cookies存储的信息显示到TextBox上。

    复制代码
    protected void Btn_Click(object sender, EventArgs e)
            {
                Response.Cookies["Name"].Expires = DateTime.Now.AddDays(-1);
                Response.Cookies["PassWord"].Expires = DateTime.Now.AddDays(-1);
    
                if (CheckBox1.Checked)
                {
    
                    Response.Cookies["Name"].Expires = DateTime.Now.AddDays(7);
                    Response.Cookies["PassWord"].Expires = DateTime.Now.AddDays(7);
                
                
                }
    
                Response.Cookies["Name"].Value = this.Name.Text.Trim();
                Response.Cookies["PassWord"].Value = this.PassWord.Text.Trim();
            }
    复制代码

    *解决中文乱码

    //对字符串进行 URL 编码,并返回已编码的字符串。

    Response.Cookies["Name"].Value = System.Web.HttpContext.Current.Server.UrlEncode( this.name.Text.Trim());

    //对字符串进行 URL 解码并返回已解码的字符串。

    this.name.Text = System.Web.HttpContext.Current.Server.UrlDecode(Request.Cookies["Name"].Value);

    提交按钮的事件。

    首先设置cookie的时间为-1,然后如果Checkbox选中了,就保存Cookies的信息7天。

    然后把Textbox的值赋给Cookies。

  • 相关阅读:
    AI boxfilter
    AI AdaBoost算法
    AI Haar特征
    15.VUE学习之-表单中使用key唯一令牌解决表单值混乱问题
    14.VUE学习之-v-if v-else-if语法在网站注册中的实际应用讲解
    13.VUE学习之控制行内样式
    12.2 VUE学习之-if判断,实践加减input里的值
    12.1.VUE学习之-循环li,if判断示例讲解class中应用表达式
    10.VUE学习之使用lodash库减少watch对后台请求的压力
    09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据,返回字符串
  • 原文地址:https://www.cnblogs.com/zoujinhua/p/10458255.html
Copyright © 2020-2023  润新知