Pergunta

Estou tentando atualizar as informações de um usuário e recebo o seguinte erro:

Referência de objeto não definida como um instância de um objeto.Descrição:Ano Ocorreu uma exceção não tratada durante a execução da web atual pedir.Revise o rastreamento de pilha para obter mais informações sobre o erro e onde se originou no código.

Detalhes da exceção:System.NullReferenceException:Referência de objeto não definida para uma instância de um objeto.

Erro de origem:

Linha 20:'Linha de construtor sem parameontre 21:Linha 22:
user.Email = Directcast (E.NewValues ​​(0), String) Linha 23:User.comment = Directcast (E.NewValues ​​(1), String) Linha 24:user.isApproved = CBool ​​(E.NewValues ​​(2))

O código .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

Abaixo está o código .aspx para o detailView:

 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

Alguma ideia de como posso resolver isso?

Qualquer ajuda seria muito apreciada.

Obrigado

Foi útil?

Solução

Meu primeiro palpite, sem ver mais código, seria que seu user variável é nula.Você o configurou quando renderizou a página?Presumo que seu código acima seja um postback e então user perdeu seu valor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top