2017-09-27 30 views
-2

我有任何其他頁面上獲取當前登錄的用戶沒有問題,但對於登錄和註冊頁面,我所得到的全部爲空。從登錄頁面獲取當前用戶

我已經確保在登錄/註冊成功後設置GetUserByName(User.Identity.Name),並且當然將其放置在重定向操作之前,但名稱(或任何關於此事的內容)不會顯示。

case SignInStatus.Success: 

       Checker checker = new Checker 
       { 
        User = timeRepo.GetUserByName(User.Identity.Name) 
       }; 

       if (model.WantCheckIn == true) 
       { 
        //timeRepo.GetUserByName(User.Identity.Name); 
        checker.CheckIn = DateTime.Now; 
        timeRepo.TimeCheck(checker); 
        return RedirectToAction("Index", "Home", checker); 
       } 

我不知道如果我能有一個重定向操作的checker變量,但它不工作,無論哪種方式(沒有錯誤,只是不工作),所以我真的不知道是什麼別人去做。我不能做一個return View(checker),因爲它應該將您重定向到家庭/索引,並且這將不起作用,因爲GetUserByName(User.Identity.Name)無論如何都沒有得到價值。

這對我自己的控制器非常有用,我需要用戶,但我想我必須以另一種方式從登錄頁面獲取它。 我可能做一個「隱藏」的重定向頁面,但這似乎很懶惰我的一部分。

我可以在Google和SO上找到的所有內容都是在登錄過程之後獲取當前用戶,我已經可以做到這一點。獲取註冊日期或能夠登錄登錄並不是必要的,但它會很好。

+0

你怎麼能得到一個用戶名時,用戶沒有登錄?登錄和註冊頁面的情況如下 – DiskJunky

+0

用戶登錄後,我希望它獲取信息。 我在Switch上放置了一個斷點,並且「Success」確實給了我用戶(名稱,密碼,ID,一切)。 我想知道的是我如何獲得該信息並將其用於我的入住/註冊日期。 – Will

回答

0

我認爲你應該檢討這個功能 User.Identity.Name有價值與否?

如果用戶已經驗證成功,我們可以通過使用

This.User 

讓用戶如果控制器繼承類Controller

+0

'User.Identity.Name'在這種情況下沒有價值,這是我的問題,因爲用戶*應該*現在登錄(在「成功」的情況下,所有的都是將用戶重定向到主頁) 我會把'This.User'放在哪裏? – Will

+0

如果用戶登錄成功,則可以使用'this.user' –

相關問題