詳細ビューのエラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません
-
15-11-2019 - |
質問
ユーザー情報を更新しようとすると、次のエラーが発生します。
オブジェクト参照が オブジェクトのインスタンス。説明:ひとつの 未処理の例外が次の場合に発生しました 現在の Web の実行 依頼。スタックトレースを確認してください エラーの詳細については、 そして、それがコードのどこから来たのか。
例外の詳細:System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
ソースエラー:
20行目:'パラメーターレスコンストラクターライン21:22行目:
user.email = directcast(e.newvalues(0)、string)行23:利用者。コメント = DirectCast(e.NewValues(1), 文字列) 24行目:利用者。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
これを並べ替える方法はありますか?
ご協力をいただければ幸いです。
ありがとう
解決
これ以上のコードを見ない限り、私の最初の推測は、次のとおりです user
変数がnullです。ページをレンダリングするときに設定しましたか?上記のコードはポストバックであると思いますので、 user
価値を失いました。
所属していません StackOverflow