Мне нужно было создать простую форму быстрого входа для внутреннего проекта компании, над которой я работаю. Я видел этот параграф о том, как сделать это с помощью vb - выглядел очень быстро и легко. Я запустил его через конвертер, чтобы изменить его на C #, но когда я загружаю страницу, я получаю сообщение об ошибке:
CS0103: The name 'Session' does not exist in the current context
Со следующим кодом:
<script runat="server">
public void Login(object s, EventArgs e)
{
if (tbUserName.Text == "admin" & tbPassword.Text == "admin")
{
Session("Admin") = true;
Response.Redirect("Dashboard.aspx");
}
else
{
Session("Admin") = false;
litLogin.Visible = true;
litLogin.Text = "<p>Sorry you have provided incorrect login details.</p>";
}
}
</script>
РЕДАКТИРОВАТЬ Добавление скобок помогает на странице входа в систему, но на странице, которую я пытаюсь защитить, вы должны проверить сеанс следующим образом:
<form id="form1" runat="server">
<script runat="server">
protected void Page_Load(object sender, System.EventArgs e)
{
if (Session["Admin"] != true)
{
Response.Redirect("Login.aspx");
}
}
</script>
И это бросает CS0019: Operator '!=' cannot be applied to operands of type 'object' and 'bool'