1

I want to display User FirstName from database when user logs on. Currently It displays UserName which is email Id. In Account Controller, I have written this code to get User FirstName from database based on User Login.

In Account Controller:

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);

In partial view _LoginPartial:

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

But I am not getting the name which I passed it from Account Controller. Please help me. Thank you in advance.

Raj
  • 555
  • 1
  • 12
  • 31

1 Answers1

1

You are redirecting so your ViewBag is lost. You could store a user object in session or use TempData:

TempData["UserFirstName"] = username;

Then:

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

See here

Steve Greene
  • 12,029
  • 1
  • 33
  • 54