Я бы хотел не использовать ViewData и использовать строго типизированную ViewModel для этого.
Моя ViewModel будет такой
public class LoggedInUserViewModel :
{
public bool IsValid { set;get;}
public string DisplayName { set;get;}
}
в контроллере, проверьте подлинность пользователя, установите свойства объекта ViewModel и передайте объект ViewModel в View
LoggedInUserViewModel objVM=new LoggedInUserViewModel();
if (User.Identity.IsAuthenticated)
{
objVM.IsValid=true;
objVm.DisplayName="Name from your user entity"
}
return View(objVm);
и в представлении
@if(Model.IsValid)
{
@Html.ActionLink("Register", "Register", "Users")
}
else
{
Welcome @Model.DisplayName
@Html.ActionLink("Profile", "Profile", "Users")
}