Я немного новичок в ASP.net c # MVC.Я пытаюсь создать приложение входа в систему и создать сеанс. В моем приложении у меня есть контроллер входа в систему.В контроллере входа в систему я считал данные пользователя, вошедшего в систему, в переменные сеанса, как в следующем фрагменте кода.
[HttpPost]
public ActionResult Authorize(MVCFirst.Models.User userModel)
{
using (MVCNewEntities db = new MVCNewEntities())
{
var userDetails = db.Users.Where(x => x.UserName == userModel.UserName && x.UserPWD == userModel.UserPWD).FirstOrDefault();
if (userDetails == null)
{
userModel.LoginErrorMessage = "Incorrect useer name and password.";
return View("Index", userModel);
}
else
{
Session["userID"] = userDetails.UserID;
Session["userName"] = userDetails.UserName;
return RedirectToAction("Index","Home");
}
}
}
Мой HomeController
имеет Index
, что ActionResult
.В View
из HomeController
я пытаюсь прочитать значения сеанса сеанса в заголовок html, как в следующем фрагменте кода.
<body>
<div>
<h1>Dashboard</h1>
<h3>Username : @Session["userName"].ToString()</h3>
<h3>User ID : @Session["userID"].ToString()</h3>
<a href="@Url.Action("LogOut","Login")">Logout</a>
</div>
</body>
Когда я компилирую приложение, оно не выдает никакой ошибки.Построить успешно.Но когда я запускаю его, он выдает исключение.Сообщение в исключении говорит следующее.
Сообщение "Ссылка на объект не установлена для экземпляра объекта."
Что мне здесь не хватает?В чем ошибка, которую я сделал здесь?Дальнейшее объяснение.Это не произошло, когда я пытаюсь войти.Это произошло, когда я впервые запустил приложение.