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



我希望 ActionLink 的文本属性在 "User.Identity.Name" 属性为 null 时显示"登录"。

当用户登录时,我希望 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();
            }
        }

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

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

最新更新