获取有关客户端上次请求的 URL 的信息,我们可以通过此属性返回到"上一页"。 view plaincopy to clipboardprint?
if (Request.UrlReferrer != null)
{
//Response.Write(Request.UrlReferrer.ToString());
Response.Redirect(Request.UrlReferrer.ToString());
}
else
{
Page.RegisterStartupScript("aaa", "<script>alert('返回了空值');</script>");
}
if (Request.UrlReferrer != null)
{
//Response.Write(Request.UrlReferrer.ToString());
Response.Redirect(Request.UrlReferrer.ToString());
}
else
{
Page.RegisterStartupScript("aaa", "<script>alert('返回了空值');</script>");
}需要注意的是:
什么时候可以使用此方法,什么时候此属性的值为空,只有知道了其使用场合,才能更加有效的使用它,下面对其使用情况小结如下:
下列情况下,此属性值是有效的:
(1)直接使用<a href>链接;
(2)通过表单提交的方式,或者说是有PostBack动作的按钮,也或者是通过客户端脚本进行了form.submit()动作;
下面这些情况,此属性返回空值:
(1)通过IE的收藏,历史,最近链接,首页,或者是在地址栏中直接输入当前页面地址等方式;( ^_^,有些啰嗦 );
(2)使用了location.href or location.replace()等客户端脚本方法导航到了当前页面;
(3)使用Response.Redirect / Server.Transfer方式,这个小解释下,如果是在上一页面的Page_Load直接使用了Response.Redirect("Page2.aspx");或者Server.Transfer("Page2.aspx"),那么在Page2.aspx中的Request.UrlReferrer是null,但如果是通过服务器按钮进行的,返回值是正确的;
(4)使用Response.AddHeader (302) or <meta http-equiv=refresh>转到的页面中;
http://blog.csdn.net/ChaoYang0502/archive/2008/06/20/2570369.aspx