• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.效果和原理

 

原理是利用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。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net防止刷新重新提交触发后台事件的方法发布时间:2022-07-10
下一篇:
Asp.net解析HTML并利用XPATH分析提取内容发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap