用户修改密码的代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text.RegularExpressions;
namespace Niunan.Shop.Web.user { public partial class modpass : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { litUsername.Text = User.Identity.Name; ////默认进入修改密码页面我们就显示 问题 Niunan.Shop.Model.User u = new Niunan.Shop.DAL.UserDAO().GetModel(User.Identity.Name); txtQuestion.Text = u.question; } } //保存修改 protected void btnSave_Click(object sender, EventArgs e) { //根据登录名 获取 user的实体类 Niunan.Shop.Model.User u = new Niunan.Shop.DAL.UserDAO().GetModel(User.Identity.Name);
string pwd = txtPwd.Text.Trim(); string pwd2 = txtPwd2.Text.Trim(); string question = txtQuestion.Text.Trim(); string answer = txtAnswer.Text.Trim(); //判断新密码是否为空,以及密码是否2次确认,如果有修改,我们就修改原来的密码 if (!string.IsNullOrEmpty(pwd)) { if (pwd != pwd2) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('两次输入的密码不正确,请重新输入!');</script>"); return; } if (!Regex.IsMatch(pwd, "^[a-zA-Z0-9]{6,20}$")) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('密码长度必须大于6个字符小于20个字符,请重新输入!');</script>"); return; } u.password = pwd; } //判断问题和答案 if (question.Length>0) { u.question = question; } if (answer.Length > 0) { u.answer = answer; }
new Niunan.Shop.DAL.UserDAO().Update(u); Niunan.Shop.Utility.Tool.alert("保存成功", this.Page);
}
} }
额外的重点 asp.net登陆控件的使用。 在首页,当我们用户登陆了之后,是不是应该显示用户的简单信息呢? 例如这个地方,登陆之后,应该显示用户名吧?这个时候就用到 vs2010内置的 asp.net登陆控件 LoginView 用来显示登录前和登陆后的样子,其中 AnonymousTemplate 显示登录前的样子,我们把登陆框放在里面用来显示登陆。 LoggedInTemplate 显示登陆后的样子,我们用 LoginName 显示登录名,LoginStatus 显示注销 记住:因为登陆框的 txtName 被刚才的 LoginView包围了,我们需要在 LoginView里面去找这个 txtName控件 正确写法如下 那么就显示了一个 登录名 和 注销按钮。
|
请发表评论