在我的系统中,如果用户点击连接欲进入A页面,但这是系统发现用户没有登陆系统,因此不能访问A页面,因此后台使用Redirect(Login.aspx)方法转入Login.aspx页面.用户在Login.aspx页面登陆.我希望程序通过用户名和密码验证后,程序自动返回A页面,该如何做?

解决方案 »

  1.   

    用户信息存在cookie里,判断cookie,如果没有存在就到login.aspx
      

  2.   

    Sorry,我刚才没有说清楚。这样不行。因为这里的A是泛指,可能有很多个页面都需要这样。
      

  3.   

    if(!(Page.IsPostBack))
    {                
    ViewState["backpage"]=Request.UrlReferrer.ToString();
    }

     登录后
     Response.Redirect(ViewState["backpage"].ToString());
      

  4.   

    Login.aspx需要一个标准的参数,如ReturnUrl=.....验证完毕后根据ReturnUrl返回,如果没有指定,可以返回首页等自定义URL.其实用Form验证没这么麻烦,Login.aspx的参数都是系统内置的,只要使用FormsAuthentication.RedirectFromLoginPage
      

  5.   

    如果你用asp.net的forms认证,这些问题就根本不需要你考虑,你只要在认证后调用 FormsAuthentication.RedirectFormLoginPage()方法就会跳转到用户原来无权访问而转到登录页的页面,因为这个页面的路径已经被加到url中了。
      

  6.   

    FormsAuthentication.RedirectFromLoginPage
      

  7.   

    给你一个方法,例子AlertAndLocation(this.page,"登陆成功","index.aspx");下面是方法的代码
    public static void AlertAndLocation(Page PageName,string AlertMessage,string Url)
    {
    string temp = ""; temp += "<script language='javascript'>";
    temp += "alert(\"" + AlertMessage + "\");";
    temp += "location = \"" + Url + "\";";
    temp += "</script>"; PageName.RegisterClientScriptBlock("MessageBox",temp);
    }
    这个是不加提示的,直接跳到指定页面
    public static void Location(Page PageName,string Url)
    {
    string temp = ""; temp += "<script language='javascript'>";
    temp += "location = \"" + Url + "\";";
    temp += "</script>"; PageName.RegisterClientScriptBlock("MessageBox",temp);
    }
      

  8.   

    http://chs.gotdotnet.com/quickstart/aspplus/doc/formsauth.aspx