1
public ActionResult ChangePassword(ChangePassword model)
 {
   if (ModelState.IsValid)
   {
    UserDetail ud = db.UserDetails.FirstOrDefault(s => s.UserName == User.Identity.Name);
     try
     {
       if (ud.Password == model.OldPassword)
       {
        ud.Password = model.NewPassword;
        TryUpdateModel(ud);
        **db.SaveChanges();**
        return RedirectToAction("ChangePasswordSuccess");
        }
        else
        {
         ViewBag.ErrorMsgForPassword = "old password is not correct";
        }
      }
    catch
    {
      return View();   
    }
 }
4

1 回答 1

0

更改密码时未加载复杂类型,因此在更新密码时 db.savechanges() 不起作用,因此如果您加载复杂类型(在这种情况下为地址),问题就解决了

于 2013-05-14T09:36:07.693 回答