Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用mvc4和simplemembership更改用户名_C#_Asp.net_Asp.net Mvc 4_Simplemembership - Fatal编程技术网

C# 如何使用mvc4和simplemembership更改用户名

C# 如何使用mvc4和simplemembership更改用户名,c#,asp.net,asp.net-mvc-4,simplemembership,C#,Asp.net,Asp.net Mvc 4,Simplemembership,为什么不能更改simplemembership用户名。我试过了 MembershipUser memUser = Membership.GetUser(existingUser); memUser.UserName = model.UserName; Membership.UpdateUser(memUser); 我得到了MembershipUser.UserName是只读的。没有其他可用于更改用户名的方法 有办法解决这个问题吗 编辑:新问题。 排队的时候 var confirmationT

为什么不能更改simplemembership用户名。我试过了

MembershipUser memUser = Membership.GetUser(existingUser);
memUser.UserName = model.UserName;
Membership.UpdateUser(memUser);
我得到了MembershipUser.UserName是只读的。没有其他可用于更改用户名的方法

有办法解决这个问题吗

编辑:新问题。 排队的时候

 var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, Request["Password"], new { NameFirst = model.NameFirst, NameLast = model.NameLast, ContactId = newContact.ContactId },true);
当运行时,我得到一个MembershipCreateUserException,并说用户名已经在使用中(实际上不是)。它设法将用户添加到我的UserSecurity表(UserProfile)中,但不将其添加到成员资格表中。
它试图将用户添加到webpages\u Membership表中,而不是我创建的UserMembership表中。

您可能无法使用MembershipProvider编辑用户名。 在SimpleMembership中,您必须将UserProfile表添加到存储用户名的模型中

您可以在初始化时指定表:

WebSecurity.InitializeDatabaseConnection("DBname", "UserProfileTable", "IdColumn", "UsernameColumn", autoCreateTables: true);

我认为您也可以使用它,自己创建SimpleMembership的表,然后使用autoCreateTables的初始值设定项:false-但是您必须使用同一个表,因为SimpleMembership提供程序将自动创建。所以仅创建UserProfile表就足够了,还是我必须重新创建所有SimpleMembership表?我不确定是否需要对存储密码的表进行哈希处理,从而对其执行任何不同的操作。也请查看以下文章:您必须至少创建webpages\u Membership表和UserProfile表,这两个表可以有不同的名称。这还取决于您需要什么-如果您也需要角色,您必须创建更多我投票赞成重新打开此文件,因为该问题是在
SimpleMembership
的上下文中,而不仅仅是
成员资格