2008-12-09 147 views
32

我有一个虚拟路径(例如:“〜/ Images/Banner.jpg”),我想让它成为绝对路径(例如:“/ ApplicationRoot/Images /Banner.jpg“)。有一种方法可以做到这一点,我相信一个叫做HTTPUtility或类似名称的类。虽然有时候我需要这种方法,但需要几个小时的时间才能找到它。如果有人能够发布适当的方法来做到这一点,我将非常感激,所以我可以喜欢这一点,以便将来访问。将虚拟路径转换为ASP.NET中的实际web路径

非常感谢。

+0

@JoelBeckham你是对的。我误解了这个问题。 – 2011-10-27 23:08:43

回答

59
System.Web.VirtualPathUtility.ToAbsolute("yourRelativePath"); 

你去那里:)

+0

我真的有同样的问题,直到我做了我自己的PathHelper类为asp.net mvc框架:p – 2008-12-09 15:44:44

+0

呵呵,又一个地方做到这一点!我想他们都在同一个地方。 – leppie 2008-12-09 15:45:18

+0

我当然希望如此:P – 2008-12-09 15:46:02

5
Control.ResolveClientUrl(url) 

Control.ResolveUrl(url) 

哪一个你需要(老实说,我不知道的区别,因为二者似乎回到大致相同,也许有人可以照亮我:))。

13

有多种方法,在ASP.NET中提供,我们可以使用相对路径解析为绝对URL -

1)Request.ApplicationPath
2)System.Web.VirtualPathUtility
3)页.ResolveUrl
4)Page.ResolveClientUrl

这里有一个文章,解释在ASP.NET解决路径的各种方法之间的区别 -

Different approaches for resolving URLs in ASP.NET