ASP.NET:如何获取文件的URL?

时间:2011-03-28 02:10:29

标签: asp.net favicon virtual-path

我希望获得ASP.NET中资源的完全限定URL。

e.g:

<LINK rel="shortcut icon" href="<%=GetFaviconPath()%>">

现在包含代码隐藏文件:

private String GetFaviconPath()
{
   String url = System.Web.VirtualPathUtility.ToAbsolute("~/Images/clock.ico");
   return url;
}

不幸的是,这不起作用,因为它不返回完全限定的路径,只返回相对于服务器的路径:

/Employement/Images/clock.ico

Internet Explorer需要完全限定的网址,例如:

http://localhost:62119/Employment/Images/clock.ico

http://avenger:81/Employment/Images/clock.ico

http://MyFreeAspDotNetHosting.com/IanBoyd/Employment/Images/clock.ico

如何获取文件的完全限定路径?我已经尝试了VirtualPathUtility,我完全没有想法。

2 个答案:

答案 0 :(得分:2)

您可以将您拥有的内容附加到

的结果中

Request.Url.GetLeftPart(UriPartial.Authority)

另外,请查看System.UriBuilder http://msdn.microsoft.com/en-us/library/wdwhd34a.aspx

答案 1 :(得分:1)

试试这个

string _ApplicationPath = HttpContext.Current.Request.Url.ToString();

将您的相对路径追加到该绝对路径。