9

ASP.NET MVC5 と Identity 2.0 (ベータ版) を使用しています。

ユーザーがユーザー名を変更することは可能ですか?

UserManager.UpdateAsync メソッドを使用しようとすると、例外がスローされます。

よろしく、

フラン。

4

3 に答える 3

3

これは私のために働く:

 public async Task<ActionResult> ChangeUsername(string value)
        {
            if (UserManager.Users.Where(x => x.UserName == value).FirstOrDefault() == null) //chk for dupes
            {
                var user = UserManager.FindById(User.Identity.GetUserId());
                user.UserName = value;
                var updateResult = await UserManager.UpdateAsync(user);
                store.Context.SaveChanges();

                await SignInAsync(user,true);//user is cached until logout so do this to clear cache                
                return Content("true");
            }
            throw new HttpException(500, "Please select a different username");
        }
于 2015-07-24T05:44:21.780 に答える
-5

あまり美しくないかもしれませんが、これを試してください:

db.Database.ExecuteSqlCommand("update AspNetUsers set UserName=" + NewUserName + " where UserName = " + OldUserName);
于 2014-03-20T05:50:35.843 に答える