其实和获取页面的来路地址方法一样
string strRequestFrom = "";
if (HttpContext.Current.Request.UrlReferrer == null)
{
strRequestFrom = "直接访问";
}
else
{
strRequestFrom = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
}
使用三目运算符偷懒的写法:
string strRequestFrom = HttpContext.Current.Request.UrlReferrer == null ? "直接访问" : HttpContext.Current.Request.UrlReferrer.AbsoluteUri ;
有关UrlReferrer的介绍
获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL。
命名空间:System.Web
程序集:System.Web(在 system.web.dll 中)
语法
C#
public Uri UrlReferrer { get; }
属性值
一个 Uri 对象。
示例
下面的代码示例显示将客户端引用到当前应用程序的 URL 的两个属性值。
Uri MyUrl = Request.UrlReferrer;
Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>");
Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>");
Uri.AbsoluteUri 属性
获取绝对 URI。
命名空间:System
程序集:System(在 system.dll 中)
语法
C#
public string AbsoluteUri { get; }
属性值
包含整个 URI 的 String。
备注
AbsoluteUri 属性包括 Uri 实例中存储的整个 URI,包括所有的片段和查询字符串。
示例
下面的示例将 Uri 实例的完整内容输出到控制台。在示例中,http://www.contoso.com/catalog/shownew.htm?date=today 会被输出到控制台。
C#
Uri baseUri= new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri,"catalog/shownew.htm?date=today");
Console.WriteLine(myUri.AbsoluteUri);