DetailView-Fehler:Der Objektverweis wurde nicht auf eine Instanz eines Objekts festgelegt
-
15-11-2019 - |
Frage
Ich versuche, Benutzerinformationen zu aktualisieren und erhalte die folgende Fehlermeldung:
Der Objektverweis wurde nicht auf eine Instanz eines Objekts festgelegt.Beschreibung:Bei der Ausführung der aktuellen Webanforderung trat eine unberechtigte Ausnahme auf.Bitte überprüfen Sie die Stapelverfolgung für weitere Informationen zum Fehler und wo er im Code stammt.
Ausnahmedetails:System.NullReferenceException:Der Objektverweis wurde nicht auf eine Instanz eines Objekts festgelegt.
Quellfehler:
Zeile 20:'Parameterlose Konstruktorlinie 21:Zeile 22:
user.Email = DirectCast (e.NewValues (0), String) Zeile 23:user.comment = DirectCast (E.NewValues (1), String) Zeile 24:user.is genehmigt = CBOOL (E.NewValues (2))
Der .vb-Code lautet:
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
Unten finden Sie den ASPX-Code für die Detailansicht:
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
Irgendeine Idee, wie ich das sortieren kann?
Jede Hilfe wäre sehr dankbar.
Danke
Lösung
Meine erste Vermutung, ohne mehr Code zu sehen, wäre, dass Ihr user
Variable ist null.Haben Sie es beim Rendern der Seite festgelegt?Ich gehe davon aus, dass Ihr Code oben ein Postback ist und so user
seinen Wert verloren.