Как отобразить электронную почту после входа в систему на мастер-странице

Моя модель

public class Login
{
    [Required]
    [Display(Name = "Email")]
    [EmailAddress]
    public string Email { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }


}

Мой метод Post

    [HttpPost]
    public ActionResult Login(Models.Login lu)
    {
        using (travelAndTourismEntities objentity = new travelAndTourismEntities())
        {
            if (ModelState.IsValid)
            {
                if (IsValid(lu.Email, lu.Password))
                {
                    FormsAuthentication.SetAuthCookie(lu.Email, true);
                    return RedirectToAction("Home", "jettravel");
                }
                else
                {
                    ModelState.AddModelError("", "Login details are wrong.");
                }
            }
            return View(lu);
        }
    }

С учетом

@if (Request.IsAuthenticated)
{
     <div class="col-md-3 col-sm-3 col-xs-12" style=" font-size:14px; ">
     <div class="header_info">
     <p class="login_username">Welcome <span>@Html.Encode(User.Identity.Name)</span></p>
}

Я хочу отобразить адрес электронной почты клиента, но @if (Request.IsAuthenticated) всегда становится ложным


person Richa    schedule 28.01.2016    source источник


Ответы (1)


Попробуйте заменить эту строку

<p class="login_username">Welcome <span>@Html.Encode(User.Identity.Name)</span></p>

с участием

<p class="login_username">Welcome <span>@HttpContext.Current.User.Identity.Name;</span></p>
person Itniv    schedule 28.01.2016
comment
на самом деле @if (Request.IsAuthenticated) всегда становится ложным, он не получает истинное значение - person Richa; 28.01.2016
comment
Проверьте, установлен ли файл cookie SetAuthentication или нет. Если он установлен, попробуйте изменить его на FormsAuthentication.SetAuthCookie(lu.Email, false); и попробуй должно получиться - person Itniv; 28.01.2016