登录用户的ID

如何获取登录用户的UserId? 我正在使用标准系统生成的AccountModel。 我可以使用以下命令获取用户名

User.Identity.Name 

但我没有看到UserId字段。 我想将UserId用作另一个表的外键。

我认为您正在寻找ProviderUserKey – 从用户的成员资格数据源中获取用户标识符。

 object id = Membership.GetUser().ProviderUserKey 

Membership.GetUser() – 从数据源获取信息,并更新当前登录成员资格用户的上次活动日期/时间戳。

试试这个:

 using Microsoft.AspNet.Identity; User.Identity.GetUserId(); 

这就是它在当前MVC(MVC5 / EF6 / VS2013)模板的部分视图中的完成情况。

如果我错了,请纠正我,因为我已经看过很多Aviatrix的答案,但是如果多个用户在数据库中有相同的名字会怎么样?

最好的方法是使用WebSecurty类

 var memberId = WebSecurity.GetUserId(User.Identity.Name); 

并且不要忘记在控制器上添加[InitializeSimpleMembership] 🙂