문제

사용자 정보를 업데이트하려고 하는데 다음 오류가 발생합니다.

객체 참조 객체의 인스턴스로 설정되지 않습니다.설명:현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다.오류 및 코드에서 시작된 위치에 대한 자세한 내용은 스택 추적을 검토하십시오.

예외 세부정보:System.NullReferenceException:객체 참조 객체의 인스턴스로 설정되지 않습니다.

소스 오류:

20행:'매개 변수가없는 생성자 라인 21 :22행:
user.email = directcast (e.newvalues ​​(0), 문자열) 행 23 :user.comment = directcast (e.newvalues ​​(1), String) 줄 24 :user.isalkroved = cbool (e.newvalues ​​(2))

.vb 코드는 다음과 같습니다.

Protected Sub UserInfo_ItemUpdating(ByVal sender As Object, ByVal e As DetailsViewUpdateEventArgs)
        'Need to handle the update manually because MembershipUser does not have a
        'parameterless constructor  

        user.Email = DirectCast(e.NewValues(0), String)
        user.Comment = DirectCast(e.NewValues(1), String)
        user.IsApproved = CBool(e.NewValues(2))

        Try
            ' Update user info:
            Membership.UpdateUser(user)

            ' Update user roles:
            UpdateUserRoles()

            UserUpdateMessage.Text = "Update Successful."

            e.Cancel = True
            UserInfo.ChangeMode(DetailsViewMode.[ReadOnly])
        Catch ex As Exception
            UserUpdateMessage.Text = "Update Failed: " + ex.Message

            e.Cancel = True
            UserInfo.ChangeMode(DetailsViewMode.[ReadOnly])
        End Try
    End Sub

다음은 DetailView의 .aspx 코드입니다.

 Protected Sub UserInfo_ItemUpdating(ByVal sender As Object, ByVal e As DetailsViewUpdateEventArgs)
        'Need to handle the update manually because MembershipUser does not have a
        'parameterless constructor  

        user.Email = DirectCast(e.NewValues(0), String)
        user.Comment = DirectCast(e.NewValues(1), String)
        user.IsApproved = CBool(e.NewValues(2))

        Try
            ' Update user info:
            Membership.UpdateUser(user)

            ' Update user roles:
            UpdateUserRoles()

            UserUpdateMessage.Text = "Update Successful."

            e.Cancel = True
            UserInfo.ChangeMode(DetailsViewMode.[ReadOnly])
        Catch ex As Exception
            UserUpdateMessage.Text = "Update Failed: " + ex.Message

            e.Cancel = True
            UserInfo.ChangeMode(DetailsViewMode.[ReadOnly])
        End Try
    End Sub

이걸 어떻게 정렬할 수 있는지 아시나요?

어떤 도움이라도 대단히 감사하겠습니다.

감사해요

도움이 되었습니까?

해결책

더 많은 코드를 보지 않고도 내 첫 번째 추측은 user 변수가 null입니다.페이지를 렌더링할 때 설정했습니까?위의 코드는 포스트백이라고 가정합니다. user 그 가치를 잃었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top