我正在尝试更新用户信息并获取以下错误:

对象引用未设置为 对象的实例。描述:AN 未处理的异常发生在 执行当前的网络 要求。请查看堆栈跟踪 有关错误的更多信息 它起源于代码。

例外详细信息: system.nullreferenceException:对象 引用未设置为一个实例 对象。

源错误:

第20行:'不可否认 构造函数第21行:第22行:
user.email= 直接广播(E.NewValues(0),字符串) 第23行:User.commer.comment= 直播(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
.

下面是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
.

任何想法如何对此进行排序?

任何帮助将非常感激。

感谢

有帮助吗?

解决方案

My first guess, without seeing more code, would be that your user variable is null. Did you set it when you rendered the page? I assume your code above is a postback and so user lost it's value.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top