我有两个文件,第一个文件(1.aspx)的page_load中有{Response.Redirect"2.aspx"}
我要在第二个文件2.aspx中获得来源页面1.aspx,目的是防止有人没有经过1.aspx,而直接在地址栏中输入2.aspx.
我用了Request.UrlReferrer取不到值,查了资料说是在1.aspx的page_load中还没有初始化,所以为空,到了2.aspx中也为空了.我不想用session或cookie,有没有函数可以做到呀?

解决方案 »

  1.   

    那就自己传值过去
    {Response.Redirect"2.aspx?url=urlencode("1.aspx")"} 
      

  2.   

    楼上说的直接传值是不行的.目的是防止有人没有经过1.aspx,直接传值是起不到这种作用的
      

  3.   

    我建立了一个测试目录:test里面有4个文件GetLastPage.aspx和cs文件NeedAccessPage.aspx和cs文件代码如下:GetLastPage.aspx的cs主体代码:try
            {
                Response.Write(Request.UrlReferrer.ToString());
                //无法把一个null值转换为"",所以出现错误,自然而言走到catch语句
            }
            catch 
            {
                Response.Write("直接访问了这个页面,没有经过NeedAccessPage.aspx这个页面!");
            }NeedAccessPage的前台设计如下: <a href="GetLastPage.aspx" title="跳转到GetLastPage.aspx页面">跳转到GetLastPage.aspx页面</a>
        <form id="form1" runat="server">
        <div>    <asp:Button ID="btnGo" Text="跳转到GetLastPage.aspx页面" runat="server" OnClick="btnGo_Click" />
        </div>
        </form>后台代码为: protected void btnGo_Click(object sender, EventArgs e)
        {
            Response.Redirect("GetLastPage.aspx");
        }测试成功直接访问了这个页面,没有经过NeedAccessPage.aspx这个页面! http://localhost/Test/NeedAccessPage.aspx OK