2012-10-19 45 views
3

我想获取当前登录用户名为C#中的数据库查询,并试图找到C#版本的ASP“命令”User.Identity.Name。当我用谷歌搜索时,我只发现有人用Environment.Username和类似的解决方案获取Windows用户名 - 这不是我所需要的。在MVC2中获取当前登录用户

所以,我说的是从VS中的ASP配置对话框或自动生成的寄存器函数中创建的帐户。我可以注册/登录/注销和一切,所以我猜想有某种会话存储我需要的信息。我只是不知道我在哪里可以找到它。

我希望我没有那么困惑:)任何人都知道如何从C#模型获取我的会话信息?

+0

您是否使用Asp.Net成员资格提供程序? – codingbiz

+0

你真的尝试过'User.Identity.Name'吗?它给你什么? (整个命名空间是'System.Web.HttpContext.Current.User.Identity.Name') – Mansfield

+0

并且你的程序是否需要登录?如果没有,那么你显然不会得到一个有用的身份。姓名 – user1727088

回答

2

可以在MVC获取当前用户名的方式,你可以在传统的ASP一样,用User.Identity.Name。整个命名空间是System.Web.HttpContext.Current.User.Identity.Name

没有看到你的代码我不能确定,但​​我想你不包括System.Web,即使你是你可能需要指定HttpContext.Current.User.Identity.Name

+0

是的,谢谢!当我使用我最后的提示时,我有一个用户对象。 – Thomas

+0

也导入System.Web.Security,如果还没有 – codingbiz

1

您可以将Controller属性“User”传递给您的模型。 是这样的:

public ActionResult Index() 
{ 
    IndexModel model = new IndexModel(this.User); 
} 
+0

不要忘记,你可以随时访问System.Web.HttpContext.Current.User – user1727088

+0

谢谢,我不知道这一点。我不能赞成它,因为我缺乏一些声誉。但它是有帮助的! – Thomas

+0

欢迎您! – Quadrat137

相关问题