Ошибка детального просмотра:В экземпляре объекта не задана ссылка на объект

StackOverflow https://stackoverflow.com/questions/5061246

Вопрос

Я пытаюсь обновить информацию о пользователе и получаю следующую ошибку:

В экземпляре объекта не задана ссылка на объект.Описание:Незаверное исключение произошло во время выполнения текущего веб -запроса.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где он возник в коде.

Подробности исключения:System.NullReferenceException:В экземпляре объекта не задана ссылка на объект.

Ошибка источника:

Строка 20:'Строка конструктора без параметра 21:Строка 22:
user.email = directastce (e.newvalues ​​(0), string) строка 23:user.comment = Directast (E.NewValues ​​(1), String) Строка 24:user.IsApproved = 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

Ниже приведен код .aspx для 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

Есть идеи, как мне это отсортировать?

Любая помощь будет принята с благодарностью.

Спасибо

Это было полезно?

Решение

Мое первое предположение, не видя больше кода, заключалось бы в том, что ваш user переменная равна нулю.Вы установили его при рендеринге страницы?Я предполагаю, что ваш код выше является обратной передачей и поэтому user потерял свою ценность.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top