DetailView错误:对象引用未设置为对象的实例
-
15-11-2019 - |
题
我正在尝试更新用户信息并获取以下错误:
对象引用未设置为 对象的实例。描述: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.
不隶属于 StackOverflow