我正在尝试将此帖子中http://msdn.microsoft.com/en-us/library/aa478949.aspx中提到的当前登录用户的UserId作为aspnet_Membership表的一部分。
这是我在寻找的地方:
MembershipUser user = null;
if (User != null && User.Identity != null && !string.IsNullOrEmpty(User.Identity.Name))
{
user = Membership.GetUser(User.Identity.Name);
}
if (user != null)
{
//int id = user.UserId;
}
MembershipUser没有UserId。我试图将UserId用作我将创建的其他表的外键。我可以使用UserName,但我认为使用UserId可能更好。
答案 0 :(得分:7)
尝试查看MembershipUser.ProvideUserKey属性是否适合您
从上面链接:
ProviderUserKey属性公开来自作为对象输入的成员资格数据源的标识符。标识符的类型取决于MembershipProvider或MembershipUser。对于SqlMembershipProvider,ProviderUserKey可以作为Guid进行转换,因为SqlMembershipProvider将用户标识符存储为UniqueIdentifier。
答案 1 :(得分:5)
Membership.GetUser().ProviderUserKey
GetUser()将获得当前用户,而ProviderUserKey将成为Id,它将作为一个对象,您将希望将其转换为实际内容,int,guid等。