我正在尝试更改应用程序用户的属性但收到错误 在
IdentityResult result = await Usermanager.UpdateAsync(model);
对象引用未设置为对象的实例。
目标是根据需要更改Fullname
的{{1}},Website
,Email
。有没有更简单的方法来做这个而不是我想在这里做什么?还是我走在正确的轨道上?
ApplicationUser
尝试一些事情
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> EditUserData(string FullName, string Website, string Email)
{
ApplicationUser model = db.Users.Find(User.Identity.GetUserId());
model.Email = Email;
model.UserName = Email;
model.FullName = FullName;
model.Website = Website;
IdentityResult result = await Usermanager.UpdateAsync(model);
return RedirectToAction("Settings","Admin");
}
页面只是刷新。并且没有做出任何改变
答案 0 :(得分:0)
我认为,动作参数未通过。如果要应用post,则应将参数合并为复杂对象。那么,为什么不使用ApplicationUser
作为参数。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> EditUserData(ApplicationUser user)
{
ApplicationUser model = db.Users.Find(User.Identity.GetUserId());
model.Email = user.Email;
model.UserName = user.UserName;
model.FullName = user.FullName;
model.Website = user.Website;
IdentityResult result = await Usermanager.UpdateAsync(model);
return RedirectToAction("Settings","Admin");
}