asp.net关于session用法,在其它页面用作数据的时候
我在登录页面aspx.cs里有:stringSqlStr="SELECT*FROM学生信息WHERE学号='"+TextBox1.Text.Trim()+"'AND密码=...
我在登录页面aspx.cs里有:
string SqlStr = "SELECT * FROM 学生信息 WHERE 学号='" + TextBox1.Text.Trim() + "' AND 密码 = '" + TextBox2.Text.Trim() + "'";
OleDbCommand cmd = new OleDbCommand(SqlStr, conn);
OleDbDataReader MyReader = cmd.ExecuteReader();
if (MyReader.Read())
{
Session["学号"] = TextBox1.Text;
Session["密码"] = TextBox2.Text;
Response.Write("<script>alert('登陆成功');</script>");
MyReader.Close();
Response.Redirect("学生.aspx");
我在别的功能页面,比如密码修改用
string SqlStr = "SELECT * FROM 学生信息 WHERE 学号='" + session["学号"] + "'";
它提示我当前上下文不存在名称session
应该怎么写,请写出代码 展开
string SqlStr = "SELECT * FROM 学生信息 WHERE 学号='" + TextBox1.Text.Trim() + "' AND 密码 = '" + TextBox2.Text.Trim() + "'";
OleDbCommand cmd = new OleDbCommand(SqlStr, conn);
OleDbDataReader MyReader = cmd.ExecuteReader();
if (MyReader.Read())
{
Session["学号"] = TextBox1.Text;
Session["密码"] = TextBox2.Text;
Response.Write("<script>alert('登陆成功');</script>");
MyReader.Close();
Response.Redirect("学生.aspx");
我在别的功能页面,比如密码修改用
string SqlStr = "SELECT * FROM 学生信息 WHERE 学号='" + session["学号"] + "'";
它提示我当前上下文不存在名称session
应该怎么写,请写出代码 展开
展开全部
你这个session失效,是不是登录页面关闭了,然后你打开了修改页面,提示session失效了?
session的机制是每一次连接,都会有一个sessionId,所以如果你多个页面用的是同一个连接,那么你的session就可以在多个页面之间传递数据。
我猜测你说session失效的缘故是,你登录成功之后。先把登录页面关闭了,导致sessionId失效了。然后你又运行了一个页面,重新获取了一个sessionId,这个时候数据肯定是无法传递的。
又看了一下你的错误信息。你的session["学号"],应该写成Session["学号"]
session的机制是每一次连接,都会有一个sessionId,所以如果你多个页面用的是同一个连接,那么你的session就可以在多个页面之间传递数据。
我猜测你说session失效的缘故是,你登录成功之后。先把登录页面关闭了,导致sessionId失效了。然后你又运行了一个页面,重新获取了一个sessionId,这个时候数据肯定是无法传递的。
又看了一下你的错误信息。你的session["学号"],应该写成Session["学号"]
追问
你还真仔细,佩服,的确是要Session,
这样子写,您好!
也是提示上下文中不存在,那该怎么解决呢?
追答
Session["学号"]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询