Request.UrlReferrer可以获得登陆页面是由哪个页面跳转过来的,你登陆成功后,转向这个页面就行

解决方案 »

  1.   

     if (str== "1")
            {
                if (this.Login.Value == "Yes")
                {
                    Login();
                } 
            }
            if (str== "0")
            {
                Login();
            } protected void Login()
        {}就这样
      

  2.   

    <a href='login.aspx?refer="当前页面的url"'>去登陆</a>
    登陆页面 获取 页面传过来的 refer   调转到refer这个链接
      

  3.   

    参考这篇:
    http://www.cnblogs.com/insus/articles/2032508.html
    其中有一个属性是存储用户登录成功之后目标去向。方法仅供参考。
      

  4.   

    传url,当从哪个页面进入登陆页面时,回向登陆页面get传自己的url。然后登陆后再转向。
    或者用Request.UrlReferrer。我用过后者,不过好多网站都是传url方式。
      

  5.   

    1.自己写跳转
    2.forms验证,请在web.config中设置登陆成功以后,跳转的页面
      

  6.   

    <a href='login.aspx?refer="login.aspx"'>去登陆</a>登录后台 string url=Request.QueryString["refer"].ToString();
      

  7.   

    Request.UrlReferrer这个确实是最简单的方法。
      

  8.   

    Request.UrlReferrer,可以获取当前页面是从哪个URL过来的
      

  9.   

    你这不对啊
    你的代码里没有调用者地址,全是login.aspx,不还是回到登录页面么?
      

  10.   

    汗死我了
    index 页面 参数这应该是index.aspx  a页面 就应该是a.aspx
    <a href='login.aspx?refer="index.aspx"'>去登陆</a>这样的话,会很麻烦 那个页面需要登录后才可以操作,你都要在参数这 传进去 本页 ,然后在登录页面获取,还是用Request.UrlReferrer
      

  11.   

    你参数传的的 login.aspx 当然获取全是  login.aspx  
      

  12.   

    用querystring可以实现。 
    string str = Request.QueryString["str"];
    if (str == "LeaveWord")
                {
                    Response.Redirect("LeaveWord.aspx");
                }
                else if (str == "LeaveWordManager")
                {
                    Response.Redirect("LeaveWordManager.aspx");
                }
                else if (str == "MyWord")
                {
                    Response.Redirect("MyWord.aspx");
                }
                else
                {
                    Response.Redirect("Index.aspx");
                }
      

  13.   

    这个我试过了不好使:
    我跟踪显示了Request.UrlReferrer的值,在刚打开Login.aspx时,它的值的确是调用网页的url
    但是输入完用户名和口令后,一点“登录”Request.UrlReferrer的值立即变成了login.aspx,这是以下代码执行就已经晚了,会再回到Login.aspx:
        protected void Login1_LoggedIn(object sender, EventArgs e)
        {
            string s = Request.UrlReferrer.ToString();
            Response.Redirect(s);
        }
    太可惜了,这本来是我最看好和喜欢的一个,不知道能不能改下用好。
      

  14.   

    你的代码中始终都没体现调用者的url,怎么可能回到调用者网页呢?回到login.aspx干什么啊?
      

  15.   

    关键是调用者的url如何取得?得不到调用者的url,还是回不去啊
      

  16.   

    比如你从index.aspx跳转到用viewstate保存下那个Request.UrlReferrer这个就可以了,一样可以实现功能,不过中间有写小细节,还是用url参赛的方式吧,那样比较明确
      

  17.   

    无法找到资源。 
    说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。 请求的 URL: /WebSite4/Request.UrlReferrer.ToString()
      

  18.   

    发现没有登录后记下当前地址,redirect到登录页面(在url里加个参数不错)
      

  19.   

    定义一个类,将用户开始填写的数据保存到相应对象的属性里面,然后将对象保存到session里面,在返回页面的时候在后天把值附上去
      

  20.   

    不知楼主对8楼提供的方法,是否觉得有问题,还是别的原因。
    http://www.cnblogs.com/insus/articles/2032508.html你首先定义好一个属性: //存储用户登录成功之后目标去向。
            public static string TargetPath
            {
                get
                {
                    return (HttpContext.Current.Session["TargetPath"] != null ? HttpContext.Current.Session["TargetPath"].ToString() : VirtualPathUtility.ToAbsolute("~/Default.aspx"));
                }
                set
                {
                    HttpContext.Current.Session["TargetPath"] = value;
                }
            }然后在所有页面的Page_Load中写上:protected void Page_Load(object sender, EventArgs e)
        {
           //如果此页面需要在登录验证成功之后,直接导向此页。
            Biz.TargetPath = Request.RawUrl;
        }
    最后在你的login事件中写://登录按钮
        protected void ButtonLogining_Click(object sender, EventArgs e)
        {
            //if (xxx) 如果验证成功
            {
               //other code;
                Response.Redirect(Biz.TargetPath);  //转向目标页面
            }
        }
      

  21.   

    我只用一个普通的string变量保存不行么?
    string变量存session传到Login.aspx里存着
    等login成功后再把session传回?
    这string型的变量最长能存多长的字符串?
      

  22.   

    谢谢,这么多朋友的热心帮助
    可惜分不是很多
    我首先要给3楼,他第一个提出一个关键的变量用来获得当前网页的url
      

  23.   


    Request.UrlReferrer获取上一级请求页面 一旦页面刷新,上一级请求页面即指当前页面
    也就是说 你从其他页面跳转到登陆页面,当你刷新登陆页面时,Request.UrlReferrer获取的就是登陆页面的url   个人觉得你传参数是最可靠的方式了... 
      

  24.   

    虽然已经结贴了,不过我还是要说,3楼的方法很好,稍微改下就行了,起码从3楼学到了。private static string url;
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack && Request.UrlReferrer!=null)
            {
                url = Request.UrlReferrer.ToString();
            }        Response.Write(url);
        }这样的话,即使点击了按钮什么的,其url值一样不变。
      

  25.   

    还是建议楼主传参数,可以把当前页URL做为参数传到登录页,用户一般不会删参数的!
      

  26.   

    LZ 如果你使用淘宝啊,京东啊之类的,你仔细观察跳转到登录页面的URL时
    会有一个returnURL的参数唉
    仔细点啥都解决了
      

  27.   

    假设你在主页判断的登录与否
    在主页的后台代码中使用这个Request.Url获取当前页的URL,具体我没试,本座这样猜测而已。
    然后构造login.aspx?returnURL=xxx这时就跳转过去了如果是JS的话
    更好弄了  主页的JS代码
    window.location="login.aspx?returnURL="+window.location.href;
    好了自己去琢磨吧
      

  28.   

    试试 ,在这个帖子页面点击退出  然后查看一个需要登录才能查看的回复  看看CSDN怎么做的就行了
      

  29.   

    虽然已经结贴了,不过我还是要说,3楼的方法很好,稍微改下就行了,起码从3楼学到了。C# code
    private static string url;
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack && Request.UrlReferrer!=null)
            {
                url = Request.UrlReferrer.ToString();
            }        Response.Write(url);
        }
    我试过这个,可以的。
      

  30.   

    我是学java的,但是方法都相似,Request对象(好像是request.getRemote..)有一个属性记录了请求是从哪个地址来的,但是如果直接从地址栏输入地址,则获取到那个属性为null,这个时候如果登陆成功就得跳转到index