退出登录并清空Session之后,IE浏览器的缓存问题怎么解决!!
最近做了一个网站的后台管理系统,登录验证是用的Session验证,并在web.config里面设置了管理目录的访问权限但是发现了这样的一个问题:
当我正常登录后台管理页面之后。然后点击“退出管理页面”的链接,这个链接是跳到一个页面并在这个页面的page_load事件里面将整个站点的Session值清空。然后自动跳转到网站首页。
代码:
protected void Page_Load(object sender, EventArgs e)
{
Session.RemoveAll();//移除所有Session
Response.Write("<script>location='../aspx/index.aspx'</script>");//跳到首页
}
但是在IE的情况下,我再从地址栏输入后台管理的页面地址时,却可以直接进行后台管理!!
在火狐下要进行登录!!
请问各位大侠有没有什么好的办法解决这个问题啊!!! --------------------编程问答-------------------- //禁止缓存
Response.Cache.SetCacheability(HttpCacheability.NoCache); --------------------编程问答--------------------
这个禁止缓存要写在什么地方啊。每个页面都需要吗??还是在某个特定的页面?? --------------------编程问答-------------------- 帮LZ 顶个 --------------------编程问答-------------------- Response.Cache.SetCacheability(HttpCacheability.NoCache); --------------------编程问答--------------------
这句语句要写在什么地方啊????登录页面还是每个页面都要写?? --------------------编程问答--------------------
我自己也顶一下 --------------------编程问答--------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
}
} --------------------编程问答-------------------- 把那个清session的写在一个基类里面,让所有页面都继承这个基类,就不用每个页面都写判断Session是否存在的事了! --------------------编程问答-------------------- 正愁着 --------------------编程问答-------------------- 页面应该有判断,session为空时,跳转到首页,反之就可以访问该页面 --------------------编程问答-------------------- protected void Page_Load(object sender, EventArgs e)
{
if (Session["Admin"] == null || Session["Admin"].ToString() == "")
{
Response.Redirect("index.aspx");
Response.End();
}
/////////Doing 0ther
} --------------------编程问答-------------------- Response.Buffer=true;
Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1);
Response.Expires=0;
Response.CacheControl="no-cache";
要强制进行http请求其实很简单.就象csdn现在这样,在后面缀一个随机参数(该参数应该以当前时间为种子).那么无论什么类型的文件,都会重新发起http请求
补充:.NET技术 , ASP.NET