몇 가지 다른 기사를 읽었지 만 제 시나리오에는 해당되지 않는다고 생각합니다.MVC User Membership 레코드를 업데이트하는 방법은 무엇입니까?
사용자에게 연결된 프로필을 업데이트하려고합니다. 그러나 암호 필드를 포함하지 않기 때문에 ModelState.IsValid 부분을 통과하지 못하게됩니다.
일부 필드는 업데이트하고 싶지만 암호 필드는 업데이트하지 않으려합니다. 그렇다면 RegisterModel에서 이들을 어떻게 생략합니까?
여기 내 코드입니다 :
'
' POST: /Account/EditRegistry
<HttpPost()> _
Public Function EditRegistry(registerModel As RegisterModel) As ActionResult
If ModelState.IsValid Then
' get membership from user name
Dim user = Membership.GetUser(registerModel.UserName)
' get user profile
Dim db0 = New UserProfileDbContext
Dim profile = db0.UserProfiles.Where(Function(p) p.UserId = user.ProviderUserKey).Single()
' TODO: update profile
profile.IsCompanyOwner = registerModel.IsCompanyOwner
profile.IsBlogOwner = registerModel.IsBlogOwner
profile.CompanyId = registerModel.Company
profile.BlogId = registerModel.Blog
db0.Entry(profile).State = EntityState.Modified
db0.SaveChanges()
' get model changes to membership object
' update membership object from model
End If
' If we got this far, something failed, redisplay form
Return View(registerModel)
End Function
편집 :
아이디어! 이것을 위해 새로운 모델을 만들어야합니까?
회원 모델 자체의 측면을 업데이트하려는 사람은 다음을 참조하십시오. http://stackoverflow.com/questions/10245017/saving-an-email-change-within-the-default-membership-provider-in- asp-net-mvc – user1477388