遇到一个关于SESSION的问题,忘各位赐教

haorenhu 2009-04-23 09:33:56
这样的,我第一次提问,不知道该怎么问,也不知道该怎么写
我写了一个登陆,登陆框是在母版页文件里面
源代码大概是这样
protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)
{
login2.Visible = false;
login1.Visible = true;
Label1.Text = " 游客 ";

}
else
{
login1.Visible = false;
login2.Visible = true;
Label1.Text = Session["user"].ToString();
}
}
protected void ImageButton3_Click(object sender, ImageClickEventArgs e) //退出按钮
{
login2.Visible = false;
login1.Visible = true;
Session.Remove("user");
}
protected void ImageButton1_Click1(object sender, ImageClickEventArgs e) //登陆按钮
{
string query = "SELECT pwd FROM users where md5name='" + security.psmd5(TextBox2.Text) + "'";
DataTable getdata = sqldbcon.out_table(query);
if (getdata.Rows.Count == 0)
TextBox2.Text = "没有此用户名";
else
{

if (security.psmd5(TextBox1.Text) == getdata.Rows[0][0].ToString())
{
Session.Add("user", TextBox2.Text);
}
}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e) //注册
{
Response.Redirect("register.aspx");
}
}

比如说 我在主页(index.aspx)上面用账号密码登陆,然后去浏览另一个页面(比如说MESSAGE.ASPX),这时候 登陆框是正常显示登陆后的DIV。但是如果我在登陆之前访问了这个MESSAGE.ASPX,这时候本地上存了MESSAGE.ASPX的缓存。然后回到INDEX.ASPX,这时候再登陆,登陆完了再去message.aspx,好了,出事了。显示的是缓存了的MESSAGE.ASPX页面,登陆后的DIV不显示。
试了很多办法,比如说REDIRECT一下,REDIRECT的页面是好的。但是,如果我之前缓存了多个页面,还是会出问题。还有 禁止本地缓存的话,我的页面东西很多,图片也多,不划算。
有没有人指导一下小弟,谢谢了
...全文
60 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerrylyj 2009-04-23
  • 打赏
  • 举报
回复
打开页面的时候重新绑定,

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧