ajax调用过程中如果是session丢失,则必须从mudole的类返回session丢失的标志,ajax再根据服务端返回的标志在客户端重设浏览器的url地址到登录页面。要区分好ajax请求和本身浏览器的请求,ajax只能看成是整个页面的一部分而已。ajax请求在服务端的处理都不会影响到包含该ajax的整个页面。要影响本页面必须通过ajax得到响应后编写相应的javascript来操作页面或浏览器。
调试欢乐多
protected override void OnInit(EventArgs e)
{
}
里面,超时后重定向应该在这里处理 protected override void OnInit(EventArgs e)
{
if (!HttpContextUtility.IsLogon())
{
FormsAuthentication.SignOut();
Response.Redirect("~/Login.aspx");
}
else
{
Response.Redirect("实际需要访问的页URL");
} base.OnInit(e);
}
可以重构一下发送ajax和得到响应的javascript,写一个函数放一个js文件里面,函数可以包含要发送的url地址和传输的数据,还有一个对响应数据进行处理的回调函数指针,这样的一些参数,函数体里面对响应数据进行判断,是否是session丢失,如果是则跳到登录页面,如果session不丢失的话则调用传到该函数的回调函数对数据进行处理。有用到ajax的页面则统一引入该js文件,并在需要的时候调用该函数。也可以做个母板页,在母板页里面引入js,其他页面创建为内容页,这样就可以简化操作。