用session验证登陆,当用户想访问一个页面时由于没有登录,就跳转到登录页面,登录后跳转到用户请求的页面,在session跳转中传上次请求的页面。
怎么获得这个url值并跳转到该页面呢?
以此跳转到的登录页面的url为例: http://localhost:3225/Login.aspx?u=/UpLoadPic.aspx
session代码为:
public class CheckSession:System.Web.UI.Page { protected override void OnInit(EventArgs e) { if (Session["user"] == null || Session["user"].ToString() == "") { string url = Request.Url.PathAndQuery; Response.Redirect("Login.aspx?u="+url); } } }
javascript中代码为:
function GetArgsFromHref(sHref, sArgName) { var args = sHref.split("?"); var retval = ""; if (args[0] == sHref) /*参数为空*/ { return retval; /*无需做任何处理*/ } var str = args[1]; args = str.split("&"); for (var i = 0; i < args.length; i++) { str = args[i]; var arg = str.split("="); if (arg.length <= 1) continue; if (arg[0] == sArgName) retval = arg[1]; } return retval; } location.href=GetArgsFromHref(location.href,"u");
这段代码估计要用很多次,先记下来。
session验证登陆- 页面跳转,布布扣,bubuko.com
原文:http://www.cnblogs.com/wangliu/p/3792469.html