2012-10-19 60 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

相關問題