我使用的是默认 ASP.NET MVC会员资格提供程序,我想允许用户在创建帐户后修改其电子邮件。 我不希望用户能够使用重复的电子邮件。
如何允许用户修改其电子邮件并检查电子邮件是否未在数据库中的其他位置使用? 我不确定在使用默认会员资格提供程序时进行此类检查的最佳方法。
注意 - 我知道会员资格提供商本身在用户尝试注册其电子邮件地址时执行此检查,我不知道以后如何执行此检查(由于菜鸟)。
注意2 - 我只知道这种访问用户电子邮件的方法,这是访问它的正确方法吗?
MembershipUser useremail = Membership.GetUser(User.Identity.Name);
ViewBag.Email = useremail.Email;
您可以通过该电子邮件搜索现有用户名:
String userName = MembershipProvider.GetUserNameByEmail(email)
如果未找到匹配项,则userName
将为 null。 有关此内容的更多信息,请参阅此处。
此外,如果您的会员提供商已RequiresUniqueEmail = true
则应该已经为您执行了此检查 - 根据此页面。