2017-12-28 12 views
1

사용자가 로그온 할 때 데이터베이스에서 FirstName 사용자를 표시하려고합니다. 현재 그것은 이고 email Id입니다. Account Controller에서 사용자 로그인을 기반으로 데이터베이스에서 FirstName 사용자를 얻으려면이 코드를 작성했습니다. Account Controller에서데이터베이스에서 FirstName을 가져오고 싶습니다. MVC 응용 프로그램에서 UserName이 맞지 않습니다.

:

case SignInStatus.Success: 
        AdvertiserDBEntities ade = new AdvertiserDBEntities(); 
          string username = ade.UserInfoes 
          .Single(x => x.UserName == model.Email) 
          .FirstName 
          .ToString(); 
        ViewBag.FirstName = username; 
        return RedirectToLocal(returnUrl); 

부분보기 _LoginPartial에서 :

@Html.ActionLink("Hello " + (string)ViewBag.FirstName + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" }) 

그러나 내가 계정 컨트롤러에서 통과 이름을 받고 있지 않다. 도와주세요. 미리 감사드립니다.

+0

확인 [이]를 참조하십시오 (https://stackoverflow.com/a/25643319/ 2218697) 게시물. – stom

+0

@stom, 오류를 표시합니다. 'ApplicationUser'을 (를) 찾을 수 없습니다. – Raj

답변

1

ViewBag가 손실되어 리디렉션됩니다. 당신은 세션에서 사용자 개체를 저장하거나 사용할 수 TempData : 다음

TempData["UserFirstName"] = username; 

:

@Html.ActionLink("Hello " + TempData["UserFirstName"] + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" }) 

here

+0

도와 주셔서 감사합니다. – Raj