用于静态页面的MVC Url辅助方法?

noc*_*ier 3 c# asp.net-mvc url-routing asp.net-mvc-2

如果我有一个网址"/something/something/",我的网站是http://mysite.com,我想链接到那个东西网址,是否有一个方法Url.Content();,将发现IIS中的网站的虚拟目录,并适当地映射到网址路径?

我试过了 Url.GenerateContentUrl(), Url.Action(), Url.Content(), Url.RouteUrl()

Dar*_*rov 8

是否有类似Url.Content()的方法;

为什么喜欢什么时候Url.Content

var url = Url.Content("~/something/something");
Run Code Online (Sandbox Code Playgroud)

这将负责虚拟目录名称,如果您的一方部署在根目录http://example.com,它将返回/something/something,如果您有一个虚拟目录http://example.com/applicationname,它将返回/applicationname/something/something.

因此,每当您需要链接静态资源时,您应该始终使用Url.Content.例如:

<img src="<%= Url.Content("~/images/foo.png") %>" alt="" />
Run Code Online (Sandbox Code Playgroud)

无论您的站点部署到何处,它都将始终正确解析图像URL.