Я пытаюсь написать страницу «свяжитесь с нами», на которой отображаются некоторые данные, введенные пользователем со страницы входа в систему (страница контактов требует входа в систему). Для этого я использую переменную сеанса:
код от логина:
Session["User"] = account.Email;
Session["Password"] = account.Password;
Session["Name"] = account.Name;
return Redirect("/Contact/contact");
Код от контроллера контактов:
public ActionResult Contact()
{
// if session user is null (e.i. user has not been logged in) redirects user to login page
if (Session["User"]==null)
{
return Redirect("/Login/login");
}
string name = Session["Name"] as string;
string email = Session["User"] as string;
Account acc = new Account(name, email);
return View("contact", acc); // else returns contact html page
}
Вот как должна отображаться информация:
@model Final_Project.Models.Account
<p><span>Name</span><input class="contact" type="text" name="your_email" value="@Model.Name" /></p>
<p><span>Email Address</span><input class="contact" type="text" name="your_email" value="@Model.Email" /></p>
Но в текстовых полях ничего не отображается. Поскольку отображается страница контакта, переменная Session не может быть нулевой (как в этом случае, если оператор будет выполняться из контроллера, перенаправляя пользователя обратно на страницу входа). Как получить доступ к строкам «Имя» и «Электронная почта» из сеанса?
EDIT:
Видимо проблемы были в том, как я передавал значения самой модели. Переменная сеанса не имела никакого отношения к моей проблеме