FineUI 官方论坛
标题:
关于session登录超时后跳转到登录页面问题,求帮助
[打印本页]
作者:
稀里糊涂丶娃
时间:
2015-5-17 21:35
标题:
关于session登录超时后跳转到登录页面问题,求帮助
现在session超时我是这样写的
1:我定义了一个类,代码如下
public class BasePage : System.Web.UI.Page//这个很重要
{
public BasePage()
{
//
// TODO: 在此处添加构造函数逻辑
//
this.Load += new EventHandler(BasePage_Load);
}
void BasePage_Load(object sender, EventArgs e)
{
if (Session["username"] == null || Session["userid"]==null)
{
Response.Write("<script language='javascript'>top.location.href='../login.aspx?cs=" + Server.UrlEncode("1") + "'</script>");
Response.End();
return;
//Response.Redirect("~/login.aspx");
}
}
}
2:每个页面我都继承了这个类,代码如下
namespace CESHI
{
public partial class CESHI:BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
现在问题是这样的,这样每个页面在左侧点击树菜单打开的时候,如果session过期了能跳转到登录界面,问题是这个页面打开了,等session过期了,点击这个页面上的按钮用于弹出一个窗体的时候就没反应了,不会跳转到登录页面了,有什么办法解决,或是有什么好方法能在session过期后跳转到登录界面
作者:
棕榈
时间:
2015-5-18 09:47
页面第一次请求的时候可以,但等页面加载完,所有的请求都是AJAX了,你往数据流中写入那个脚本,AJAX是不支持的,试试这个 PageContext.Redirect("~/login.aspx");
作者:
棕榈
时间:
2015-5-18 10:00
你也可以对IsPostBack进行判断,回发时写成这样也行 top.location.href='../login.aspx?cs=" + Server.UrlEncode("1") + "';“ ,回发时不能有 <script> 标签。
作者:
稀里糊涂丶娃
时间:
2015-5-18 15:06
棕榈 发表于 2015-5-18 09:47
页面第一次请求的时候可以,但等页面加载完,所有的请求都是AJAX了,你往数据流中写入那个脚本,AJAX是不支 ...
再请教下,用了这个 PageContext.Redirect("~/login.aspx"); 怎么跳出框架,这个只能在当前页面上跳转到登录页面,不是浏览器跳转到登陆界面,求指教
作者:
棕榈
时间:
2015-5-18 16:42
后面加个参数,PageContext.Redirect("~/login.aspx", "_top");
作者:
刘军
时间:
2015-5-20 10:19
1:实测登陆过期后,点击按钮,还是会跳转到登录页面,不知道你的问题在哪里
2:可以考虑过期后,在Global.asax用cookie对session再初始化
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4