更改ApplicationUser属性

时间:2018-01-24 10:35:00

标签: c# asp.net-mvc asp.net-identity

我正在尝试更改应用程序用户的属性但收到错误 在

IdentityResult result = await Usermanager.UpdateAsync(model);
  

对象引用未设置为对象的实例。

目标是根据需要更改Fullname的{​​{1}},WebsiteEmail。有没有更简单的方法来做这个而不是我想在这里做什么?还是我走在正确的轨道上?

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");
}

页面只是刷新。并且没有做出任何改变

1 个答案:

答案 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");
}