2013-05-08 4 views
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(); 
    } 
} 
+1

'작동하지 않음'을 의미합니까? 예외가 있습니까? 또는 무엇을? 더 많은 정보를주세요. –

+1

하나 이상의 엔터티에 대한 유효성 검사가 실패했습니다. 자세한 내용은 'EntityValidationErrors'속성을 참조하십시오. 이게 내가 이해할 수없는 오류예요 – VinodCumar

+0

UserDetail 클래스를 보여 주시겠습니까? –

답변

0

암호 변경 중에 암호가 변경되지 않았으므로 암호 db.savechanges()가 작동하지 않아 복잡한 유형 (이 경우 주소)을로드하면 문제가 해결됩니다.

관련 문제