获取MVC3中的当前用户

时间:2012-08-23 04:55:43

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

我试图通过User.Identity获取当前用户ID但是徒劳无功,我发现This post 这引导我做了以下事情:Guid userGuid = (Guid)Membership.GetUser().ProviderUserKey; 我经历了与This Post中相同的错误!但是我提供的解决方案并不适用。我有一个帐户模型

 public class Account
{

    public int ID { get; set; }
    ......

}

我想将创建的结算信息链接到当前登录的用户 所以我尝试按照建议执行以下操作

 if (User.Identity.IsAuthenticated)
            {
                Guid userGuid = (Guid)Membership.GetUser().ProviderUserKey;
                billinginfo.User = db.AccountSet
                                   .Where(x => x.ID == userGuid).FirstOrDefault();  
            }

我有明显的错误:

运算符'=='不能应用于'int'和'System.Guid'类型的操作数 我无法从This Post得到答案 我试图将Guid转换为int但由于转换最多为64位而生成了错误的id

所以我希望获得当前登录的用户并能够访问他的所有属性

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您无法将整数与GUID进行比较。这没有意义。为了关联这两个表,您必须在两个表中使用相同的数据类型列。