session验证登陆- 页面跳转

  

   用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");

这段代码估计要用很多次,先记下来。

原文地址:https://www.cnblogs.com/wangliu/p/3792469.html