登录用户的ID

nav*_*eed 18 c# asp.net-mvc-4 simplemembership

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

User.Identity.Name
Run Code Online (Sandbox Code Playgroud)

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

pra*_*thv 25

试试这个:

using Microsoft.AspNet.Identity;
User.Identity.GetUserId();
Run Code Online (Sandbox Code Playgroud)

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

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


Avi*_*rix 10

最好的方法是使用WebSecurty类

var memberId = WebSecurity.GetUserId(User.Identity.Name);
Run Code Online (Sandbox Code Playgroud)

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