Asp.net mvc 4 如何在登录mvc4项目后获取userid和username

Asp.net mvc 4 如何在登录mvc4项目后获取userid和username,asp.net-mvc-4,Asp.net Mvc 4,我通过codefirst创建了会员表。登录后我如何获得用户名和用户名。我看到了一些链接 var userid=WebSecurity.CurrentUserId//它返回值-1 var username=WebSecurity.CurrentUserName //it returns null var uid=WebSecurity.GetUserId(User.Identity.Name) //it returns also -1 您是使用SimpleMembership,还是先使用代码为网

我通过codefirst创建了会员表。登录后我如何获得用户名和用户名。我看到了一些链接

var userid=WebSecurity.CurrentUserId//它返回值-1

var username=WebSecurity.CurrentUserName //it returns null
var uid=WebSecurity.GetUserId(User.Identity.Name) //it returns also -1

您是使用SimpleMembership,还是先使用代码为网页创建自己的表?如果您使用并获得它来创建表,则
WebSecurity.CurrentUserName
将正常工作,并且
var username=WebSecurity.CurrentUserName
将在用户登录后正常工作。因此,听起来两者都是

  • 用户未登录
  • 您没有使用成员资格提供程序
  • 成员资格提供程序配置不正确
事实上,
WebSecurity
也将与其他提供商合作,我在上面发布的链接有更多关于它的信息


除此之外,我会阅读我发布的关于使用SimpleMembership的参考资料。您有很多潜在的问题,如果没有更多的信息,我们将无法回答您的问题。

如果您使用表单身份验证,请确保已创建表单身份验证cookie。Narendra,您是使用SimpleMembership,还是先用代码为网页成员创建自己的表?这些代码行应该可以正常工作,特别是
var username=WebSecurity.CurrentUserName
如果您使用的是SimpleMembershipI,我在我的控制器中添加了上面的[initializesimplemembershipprovider]属性。我创建了我自己的网页。\u会员资格。谢谢回复。我会看到您的链接。@narendra。不要自己创建
webpages\u会员资格
网页(只需删除该网页),因为
WebSecurity
将为您创建网页。如果您提出一个新问题“如何将Simplemembership与我自己的CodeFirstDBContext结合使用”,我将在其中发布一个演练答案,让您开始。一旦你发布了它,从这里的评论链接到它。