如何使ActionLink的文本响应用户是否通过身份验证?

时间:2019-03-25 19:05:08

标签: c# asp.net model-view-controller

当“ User.Identity.Name”属性为空时,我希望ActionLink的text属性说“登录”。

用户登录后,我希望ActionLink的text属性显示用户名。

如何使我的ActionLink的text属性响应这两种情况?

_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 个答案:

答案 0 :(得分:1)

当用户名不为null时,在登录操作链接中显示用户名。当用户名为空时,显示“登录”。

@{ 
    string loginDisplayText = User.Identity.Name ?? "Login";
}
@Html.ActionLink(loginDisplayText, "Login", "Home", new { @class = "navbar-login", id = "navbar-login" })