0
我想学习MVC编码,但我有一个最后一个小问题。首先登录不起作用,但第二次登录是工作。它每次都是这样工作的。首先登录不工作,但第二次登录工作
我的控制器代码:
public ActionResult Login()
{
if (Session["UserID"] != null)
{
Response.Redirect("/Home/Index");
}
return View();
}
[HttpPost]
public ActionResult Login(string txtUsername, string txtPassword)
{
Customer loggedInUser = db.Customers.Where(x=> x.Username == txtUsername && x.Password == txtPassword).FirstOrDefault();
if (loggedInUser == null)
{
Response.Write("<script>alert('Please check your username and password.')</script>");
return View();
}
else
{
Session["UserID"] = loggedInUser.ID;
Response.Redirect("/Home/Index");
return View();
}
}
我使用这个会话[“用户名”]索引页上要明白,我登录
我的索引视图代码:
@section Login{
@if (Session["UserID"] == null)
{
<li><a href="/Home/Login"><span class="glyphicon glyphicon-log-in"> </span>   Log In</a></li>
<li><a href="/Home/Register"><span class="glyphicon glyphicon-plus"> </span> Create an Account</a></li>
}
else
{
int userID = (int)Session["UserID"];
<li><a href="/Home/UserDetail/@userID"><span class="glyphicon glyphicon-user"> </span> User Detail</a></li>
<li><a href="/Home/Orders"><span class="glyphicon glyphicon-gift"> </span>   Orders</a></li>
<li><a href="/Home/LogOut"><span class="glyphicon glyphicon-log-out"> </span>   Log Out</a></li>
}
}
我用VS上的断点来研究它。在第一次登录尝试中,Session [“UserID”]在控制器上填充,但在第一次登录尝试时,在Index View页面上Session [“UserID”]看起来类似于null。我给第二次尝试,这次会话[“用户ID”]在索引视图页面上不为空。
感谢任何人的帮助,所以对不起我的英语不好。