在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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。 |
请发表评论