public ActionResult Profiles(TMall.Models.UserProfileModel profileModel) { if (ModelState.IsValid) //表单格式通过验证 { if (!profileModel.Captcha.ToLower().Equals((string)Session["Captcha"])) //验证码不相等 { return(Json(new { result = "fail", data = "验证码错误,请填写正确的验证码!" })); } if (Respository.Users.UpdateUsers(profileModel)) { return(Json(new { result = "success" })); } else { return(Json(new { result = "fail", data = "数据库操作错误!" })); } } else { // 获取表中的错误信息, 返回 List <string> errorList = new List <string>(); List <string> keys = ModelState.Keys.ToList(); foreach (var key in keys) { var errors = ModelState[key].Errors.ToList(); foreach (var error in errors) { errorList.Add(error.ErrorMessage); } } // 更新失败将信息返回 return(Json(new { result = "fail", data = errorList })); } }
public ActionResult Register(TMall.Models.UserProfileModel profileModel, string redirectURL) { ViewData["redirectURL"] = redirectURL; // 重定向的url传递到表单隐藏域, 以免下次提交的时候丢失 if (ModelState.IsValid) // 表单有效 { if (!profileModel.Captcha.ToLower().Equals((string)Session["Captcha"])) // 如果验证码不相等 { ModelState.AddModelError("Captcha", "请填写正确的验证码"); return(View()); } if (TMall.Respository.Users.hasRegistered(profileModel.Username)) { ModelState.AddModelError("Username", "这个用户名已经被注册过了, 请换一个试试"); return(View()); } profileModel.RegisterTime = DateTime.Now; profileModel.Level = TMall.Respository.Users.NormalUser; //注册用户默认不是管理员权限 if (TMall.Respository.Users.register(profileModel)) // 注册成功 { Session.Add("username", profileModel.Username); if (string.IsNullOrEmpty(redirectURL)) { return(RedirectToAction("Index", "Home")); } else { return(Redirect(redirectURL)); } } } return(View()); }
// 注册, 将新用户保存到数据库, 如果有错误返回false public static bool register(TMall.Models.UserProfileModel profileModel) { SqlParameter[] sqlParameter = new SqlParameter[] { new SqlParameter("@Username", profileModel.Username), new SqlParameter("@Passwd", profileModel.Passwd), new SqlParameter("@Email", profileModel.Email), new SqlParameter("@Level", profileModel.Level), new SqlParameter("@Address", profileModel.Address), new SqlParameter("@Birthday", profileModel.Birthday), new SqlParameter("@PhoneNumber", profileModel.PhoneNumber), new SqlParameter("@RegisterTime", profileModel.RegisterTime), new SqlParameter("@QQNumber", profileModel.QQNumber), }; string sql = "insert into users values (@Username,@Passwd,@Email,@Level,@Address,@Birthday,@PhoneNumber,@RegisterTime,@QQNumber)"; return(1 == (int)SqlHelper.ExecuteNoQuery(sql, sqlParameter)); }