我试图找到上一页的网址.例如,如果用户从页面A导航到页面B Server.Redirect("B.aspx")
,页面B可以显示引用它的网址.
我试过用
Response.Write(Page.PreviousPage.ToString()); Response.Write(Request.UrlReferrer.ToString()); Response.Write(Context.Request.UrlReferrer.ToString()); Response.Write(Request.ServerVariables["HTTP_REFERER"].ToString);
但是一切都是徒劳的,它给了我null exception
错误
您可以在Session中保存当前页面,然后从那里检索它:
string previousPage = Session["PreviousPage"] as string; Session["PreviousPage"] = System.IO.Path.GetFileName(System.Web.HttpContext.Current.Request.FilePath);
这样,previousPage字符串将始终包含上一页的文件名,Session变量将包含当前页面,准备在下一页上使用.
这样,您还可以检测引用者是否是外部链接,因为previousPage字符串将为null.