session丢失后登陆自动跳转到 刚才操作的页面
2009-03-25 08:44
357 查看
经常遇到session丢失的问题,原来的解决方法是直接跳转到登陆页面让用户登陆,可是这样用户又需要再到系统里一步一步的查找刚才操作的页面
所以想了很久之后我采用了如下的方法解决这个问题,拿出来也希望大家给我提提优化的建议
在登陆成功之后我添加了如下的代码
if (!String.IsNullOrEmpty(Request.QueryString["errorPageUrl"].ToString().Trim()))
{
string recURL = Request.QueryString["errorPageUrl"].ToString().Trim();
//--------------------传过来的URL转换-----------------
recURL = recURL.Trim().Replace("_", ".");
recURL = recURL.Trim().Replace("^", "/");
recURL = recURL.Trim().Replace("/aa.NET/", "");
recURL = recURL.Trim().Replace("$", "?");
recURL = recURL.Trim().Replace("*", "&");
//--------------------传过来的URL转换完毕-----------------
Response.Write("<script> location.href='" + recURL + "' ;</script>");
}
我的思路是,当session丢失那么我就让系统自动的转入登陆页面,并且传一个参数让登陆页面区分是丢失了还是首次进入,首次进入的话传入的参数为空,那么给代码段不执行,否则跳转回原来的页面,原来的页面的连接其实就就包含在传过来的参数中为了避免混乱我把参数中的连接的一些诸如'.','/'这些符号都给转换成别的符号,登陆之后又转换回来然后通过js脚本跳转回丢失session时操作的页面
下面的代码是放在每个包含session的页面中的
try
{
string username = Session["name"].ToString().Trim();
}
catch (Exception exp)
{
string file = "";
string arrayurl = HttpContext.Current.Request.Url.PathAndQuery;
file = (arrayurl.Trim()).Replace(".", "_");
file = ((arrayurl.Trim()).Replace("/", "^"));
file = (arrayurl.Replace("?", "$"));
file = arrayurl.Replace("&", "*");
Response.Redirect("~/Login.aspx?errorPageUrl=" + file);
}
这个代码是我现在用的 大家多多提建议啊
所以想了很久之后我采用了如下的方法解决这个问题,拿出来也希望大家给我提提优化的建议
在登陆成功之后我添加了如下的代码
if (!String.IsNullOrEmpty(Request.QueryString["errorPageUrl"].ToString().Trim()))
{
string recURL = Request.QueryString["errorPageUrl"].ToString().Trim();
//--------------------传过来的URL转换-----------------
recURL = recURL.Trim().Replace("_", ".");
recURL = recURL.Trim().Replace("^", "/");
recURL = recURL.Trim().Replace("/aa.NET/", "");
recURL = recURL.Trim().Replace("$", "?");
recURL = recURL.Trim().Replace("*", "&");
//--------------------传过来的URL转换完毕-----------------
Response.Write("<script> location.href='" + recURL + "' ;</script>");
}
我的思路是,当session丢失那么我就让系统自动的转入登陆页面,并且传一个参数让登陆页面区分是丢失了还是首次进入,首次进入的话传入的参数为空,那么给代码段不执行,否则跳转回原来的页面,原来的页面的连接其实就就包含在传过来的参数中为了避免混乱我把参数中的连接的一些诸如'.','/'这些符号都给转换成别的符号,登陆之后又转换回来然后通过js脚本跳转回丢失session时操作的页面
下面的代码是放在每个包含session的页面中的
try
{
string username = Session["name"].ToString().Trim();
}
catch (Exception exp)
{
string file = "";
string arrayurl = HttpContext.Current.Request.Url.PathAndQuery;
file = (arrayurl.Trim()).Replace(".", "_");
file = ((arrayurl.Trim()).Replace("/", "^"));
file = (arrayurl.Replace("?", "$"));
file = arrayurl.Replace("&", "*");
Response.Redirect("~/Login.aspx?errorPageUrl=" + file);
}
这个代码是我现在用的 大家多多提建议啊
相关文章推荐
- 分享一个Flex管理系统 Session超时的时候 用户操作时自动提示并跳转到登陆页面的方法
- 分享一个Flex管理系统 Session超时的时候 用户操作时自动提示并跳转到登陆页面的方法
- 实现session超时后自动跳转到登陆页面(前台JS,JAVA,判断是否Ajax请求)
- 当 jquery 发送 ajax 请求的时候遇到服务端session过期超时返回 302 跳转登陆页面的时候怎么办的处理方法
- 页面鼠标键盘在一定时间内无操作自动跳转(或者执行相应的业务)
- 页面在一定时间不操作就自动跳转到另一个页面
- 登陆成功后自动跳转到登录页面的前一个页面
- 清空Session并数秒钟后自动返回到登陆页面
- 重写ajax实现session超时跳转到登陆页面
- iframe Session丢失 使整个页面跳转到登陆页面问题
- session失效后跳转到登陆页面
- 怎么设置session无响应超时时间并且自动返回登陆页面
- JS实现页面超时后自动跳转到登陆页面
- JS 控制页面超时后自动跳转到登陆页面
- aspx在页面跳转(Response.Redirect)时丢失session问题及解决办法
- 解决session过期跳转到登陆页面并跳出iframe框架
- session过期跳转到登陆页面并跳出iframe框架
- iframe session 失效 跳转至登陆页面
- session超时后自动跳转到框架顶层页面