Как заставить текст ActionLink реагировать на аутентификацию пользователя? - PullRequest
0 голосов
/ 25 марта 2019

Я хочу, чтобы текстовое свойство ActionLink сообщало "Логин", когда свойство "User.Identity.Name" равно нулю.

Когда пользователь вошел в систему, я хочу, чтобы текстовое свойство ActionLink отображало имя пользователя.

Как заставить текстовое свойство моего ActionLink реагировать на оба эти сценария?

_LayoutPage's code:
  @Html.ActionLink((string)User.Identity.Name.ToString(), "Login", "Home", new { @Class = "navbar-login", id = "navbar-login" })

Controller's code:  
        public ActionResult _LayoutPage()
        {
            bool val1 = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated;
            if (val1 == true)
            {
                // If current user is logged in, display the current users name.
                return View();
            }
            else
            {
                // If user is null just say "Login"
                return View();
            }
        }

1 Ответ

1 голос
/ 25 марта 2019

Отображение имени пользователя в ссылке действия входа, когда имя пользователя не равно нулю.Когда имя пользователя пустое, отображается «Логин».

@{ 
    string loginDisplayText = User.Identity.Name ?? "Login";
}
@Html.ActionLink(loginDisplayText, "Login", "Home", new { @class = "navbar-login", id = "navbar-login" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...