Asp.net mvc 5 如何在登录主页后显示电子邮件
我的模型是Asp.net mvc 5 如何在登录主页后显示电子邮件,asp.net-mvc-5,form-authentication,Asp.net Mvc 5,Form Authentication,我的模型是 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;
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; }
}
我的发帖方法是
[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)
{
欢迎@Html.Encode(User.Identity.Name)
}
我想在视图中显示客户电子邮件,但@if(Request.IsAuthenticated)总是显示为false
<p class="login_username">Welcome <span>@Html.Encode(User.Identity.Name)</span></p>
欢迎@Html.Encode(User.Identity.Name)
与
欢迎@HttpContext.Current.User.Identity.Name
请检查此链接,实际上@if(Request.IsAuthenticated)总是为false,而不是true。是否检查是否设置了SetAuthentication cookie。。如果正在设置,请尝试将其更改为FormsAuthentication.SetAuthCookie(lu.Email,false);试试看,它应该会起作用
<p class="login_username">Welcome <span>@HttpContext.Current.User.Identity.Name;</span></p>