2

我正在使用默认的 ASP.NET MVC 成员资格提供程序,并且我希望允许用户在创建帐户后修改他们的电子邮件。我不希望用户能够使用重复的电子邮件。

如何允许用户修改他们的电子邮件并检查该电子邮件是否未在数据库的其他地方使用?在使用默认成员资格提供程序时,我不确定进行此类检查的最佳方式。

注意 - 我知道会员资格提供者本身会在用户尝试注册他们的电子邮件地址时执行此检查,但我不知道以后如何执行此检查(由于新手)。

注2 - 我只知道这种访问用户电子邮件的方法,这是访问它的正确方法吗?

MembershipUser useremail = Membership.GetUser(User.Identity.Name);
ViewBag.Email = useremail.Email;
4

1 回答 1

10

您可以通过该电子邮件搜索现有用户名:

String userName = MembershipProvider.GetUserNameByEmail(email)

如果未找到匹配项,则为userName空。有关这方面的更多信息,请参见此处

此外,如果您的 MembershipProvider 有,RequiresUniqueEmail = true那么应该已经为您执行了此检查 - 根据页面。

于 2012-04-19T16:50:43.443 回答