如何获取当前登录用户的ID?

我正在开发一个从ASP.NET Web应用程序模板构建的示例项目(Web表单,而不是MVC)。 用户登录后,我想获取用户的ID并将其存储在会话变量中,以便我可以在页面之间传递它。 如何从ASP.NET成员资格提供程序获取用户的ID? 根据用户的ID,我指的是成员资格数据库中的GUID。 有没有方法来获取用户的ID?

我正在使用默认数据库架构并将其部署到我的服务器。

谢谢!

试试这个:

MembershipUser membershipUser = Membership.GetUser(); string UserID = membershipUser.ProviderUserKey.ToString(); 

您不需要传递用户ID。 当前经过身份validation的用户存储在HttpContext.Current.User中 。

您可以在类中定义静态方法并使用它:

 public static Guid getCurrentUserGUID(){ if (HttpContext.Current.User.Identity.IsAuthenticated) { MembershipUser myObject; myObject = Membership.GetUser(HttpContext.Current.User.Identity.Name); return (Guid)myObject.ProviderUserKey; } return Guid.Empty; }