在MVC 5中更改用户名

Fra*_*gg7 8 membership identity username asp.net-mvc-5.1

我正在使用ASP.NET MVC5和Identity 2.0(beta).

用户可以更改用户名吗?

我正在尝试使用UserManager.UpdateAsync方法抛出异常.

Regrads,

弗兰.

小智 10

是的,可以使用UpdateAsync方法,但您需要确保更新电子邮件和用户名字段.

var user = userManager.FindById(userId);
user.Email = email;
user.UserName = email;

var updateResult = await userManager.UpdateAsync(user);
Run Code Online (Sandbox Code Playgroud)

这个方法对我来说很成功


小智 -5

也许它不是那么漂亮,但试试这个:

db.Database.ExecuteSqlCommand("update AspNetUsers set UserName=" + NewUserName + " where UserName = " + OldUserName);
Run Code Online (Sandbox Code Playgroud)

  • 这是脆弱的,因为它直接依赖于数据库模式和连接。最好使用下面建议的“UserManger”。 (2认同)
  • 更不用说SQL注入的风险了! (2认同)