rt: 
    假设有两个页面:webtest.aspx,webhistory.aspx    在webtest.aspx页面里有一个链接:<a href="webhistory.aspx">webhistory</a>
    在webhistory.aspx也有一个链接:<a href="window.history.go(-1);">history back</a>    1.点击webtest.aspx页面的webhistory链接到webhistory.aspx,
    
    2.点击webhistory.aspx页面的history back返回到webtest.aspx    3.当使用history bakc返回到webtest.aspx时,如何在webtest.aspx获取到前一个页面的url:webhistory.aspx
   
     使用:Request.UrlReferrer;无法获取
     
     寻求合理的解决方案!

解决方案 »

  1.   

    Request.ServerVailabels( "url ")
      

  2.   


    <a href="window.history.go(-1);">history back</a>
    <!--这里直接写链接能满足你的业务需求吗?
        用history.go(-1)是肯定不会有Request.UrlReferrer的,
        这个只是浏览器的本地行为,就算你不连互联网,都可以后退
    -->
      

  3.   

    Request.ServerVailabels( "url ")这样的写法编译都不通过
      

  4.   

    Request.ServerVailabels 是一个属性,不是方法,并且我试过,不能解决问题
      

  5.   

     添加一个URL 参数url =webhistory.aspx
    返回是用request.QueryString("url") 获取
      

  6.   

    HttpContext.Current.Request.Url.ToString();?Request.ServerVariables[ "HTTP_Referer"]
      

  7.   

    Request.ServerVailabels 拼错了Request.ServerVariables
      

  8.   


    这样是可以,但返回webtest.aspx页面时,填写的查询值会丢失,因为查询栏位都是动态生成的html控件,所以返回查询值会丢失,列表会出现无资料的现象
      

  9.   


    1.webtest.aspx直接写链接,回来时重新查询数据(需要把查询的参数放到里面),这种方式在做后台页面比较有效,假如有A B C三个页面,从A->B->C ,A B页面都有状态,如果你想从C返回到A或者从C返回B并且恢复之前的状态,可以利用这种方法(实现细节未列出)2.在webhistory.aspx利用js写cookie指示是从哪个页面返回的,之后回到webtest.aspx时再把该cookie读取出来。
      

  10.   

    改链接!实现效果是王道,不要纠结是window.history.go(-1)还是href
      

  11.   

    Request.UrlReferrer.ToString()   获取上一次请求的URL
      

  12.   

    如果没有js跳转,则可直接使用Request.ServerVariables["HTTP_REFERER"]来获取