有人session住前一个URL,怎么做? 

解决方案 »

  1.   

    Session["LastPath"]= Request.Path;
      

  2.   

    你用.net的方法,
    namespace:System.Web.SecurityFormsauthentication.RedirectFromloginpage(txtname.Text,[true|false])web.config里对其他页面的deny="?",设置form德default login page禁止匿名用户访问这些页面,这样在访问禁止匿名访问的页面时会转到登陆页,登陆成功后会转到刚才你访问的页
      

  3.   

    自已实现Form验证中的URL恢复 
    在Form验证中,如果用户没有登陆,便会跳到一个登录页中去,然后进行登录,登录完毕之后,会跳会到原来的页面上,但是Form验证唯一不爽的要设好各个目录的权限。所以我写了一个类,可以实现Form验证,实际上原理也很容易,只是将转发的URL放在Request的要求中,转发给登录页面,当登陆页面验证完合法登录后,就将URL重定向回原来的URL #region 权限矩阵
        public class AccessMatrix
        {
            private System.Web.UI.Page _page;
            private LoginUser user;
            public AccessMatrix(System.Web.UI.Page page)
            {
                _page = page;
            }
            public void CheckBasicView()
            {
                try
                {
                    user = (LoginUser)_page.Session["LoginUser"];
                    if (!user.BasicView)
                       _page.Response.Redirect("Login.aspx?url="+HttpUtility.HtmlEncode(_page.Request.RawUrl));
                    
                }
                catch
                {
                    _page.Response.Redirect("Login.aspx?return="+HttpUtility.HtmlEncode(_page.Request.RawUrl));
                }
            }
        }
        #endregion 在各个需要验证的页面中的Page_Load事件中写上AccessMatrix matrix=new AccessMatrix() 
    matrix= CheckBasicView();其中user.BasicView是一个bool量,表示查看基本视图的权限。
    在Login.aspx中if (登录成功)
    {
          if (Request[“return“] != null)
          Response.Redirect(Request[“return“] );
    }
                    
      

  4.   

    在登陆页面得到前一个页面
    str = Request.UrlReferrer
    登陆成功后再转到那个页面
    Response.Redirect(str);
      

  5.   

    void Page_Load(Object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Uri preurl = Request.UrlReferrer;
                Session["preurl"]= preurl.AbsolutePath;
            }
        }
        void validate_click(Object sender, EventArgs e)
        {
            bool login= true;
            if (login)
            {
                string preurl = Convert.ToString(Session["preurl"]);
                Response.Redirect(preurl);
            }
        }
      

  6.   

    使用框架之后好像就出问题了Session["preurl"]= preurl.AbsolutePath;  说空引用 
      

  7.   

    都说了 最简单办法,在每个页面加?url=