【问题标题】:Get user email in mvc在 mvc 中获取用户电子邮件
【发布时间】:2012-07-26 15:35:08
【问题描述】:

我编写了一些脏代码,用于在 MVC 中检索用户电子邮件。如您所见,我正在使用 linq 查询从我的用户数据库中检索信息。

 List<string> emails = new List<string> {ConstantHelper.AdminEmail, ConstantHelper.OwnerEmail};
 DataContext mDataContext = new DataContext();
 User user = 
      (from allUsers in mDataContext.Users.Where(u => u.UserName == User.Identity.Name) 
        select allUsers).FirstOrDefault();
 string userEmail =
      (from allMemberships in mDataContext.Memberships.Where(u => user != null && u.UserId == user.UserId)
        select allMemberships.Email).FirstOrDefault();
 if(userEmail == null)
 {
     return false;
 }
 emails.Add(userEmail);

 //TODO: senda email

我想知道是否有任何其他“更短”或更简洁的方式来检索(当前登录的用户的)用户电子邮件?

我用谷歌搜索了这个并找到了一些关于这个代码的建议,但我从来没有得到它为我工作。

MembershipUser u = Membership.GetUser(username);

我的代码有效,只是我宁愿有更简洁的代码,任何建议都将不胜感激:)

【问题讨论】:

    标签: c# .net asp.net-mvc-3 linq asp.net-membership


    【解决方案1】:

    MembershipUser u = Membership.GetUser(username); 绝对是实现这一目标的更好、更短的方法。您只需要 write a custom membership provider 替换默认的,以便能够自定义 GetUser 和其他方法的行为以满足您的需求。

    【讨论】:

    • 感谢您的帮助。编写自己的自定义会员提供程序是个好主意,我想我会尝试一下:)
    猜你喜欢
    • 2016-06-25
    • 2012-02-09
    • 2019-12-22
    • 2019-01-07
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多