虚拟目录IIS和MVC

时间:2013-06-24 20:43:07

标签: asp.net-mvc-4 iis-7 virtual-directory

这可能是一个快速修复的东西,但我似乎无法找到答案。我在我的站点(MVC 4)中添加了一个虚拟目录,并将其设置为作为自己的应用程序运行。但是,图像文件都试图从站点的根目录而不是虚拟目录访问。我已经改变了CSS文件中的路径,但似乎并没有解决问题。我是否真的必须硬编码所有文件的绝对路径与@Url.Content("~")

2 个答案:

答案 0 :(得分:1)

引用CSS中的图片

使样式表中的路径相对于样式表的位置。

因此,如果您的样式表位于Content\Site.css,并且您希望引用Images中的图片,请使用'../Images/<filename>'中的路径Site.css。这样,无论您的应用程序是从哪个虚拟目录提供,路径都是正确的。

换句话说,要使用myimage.png作为背景图片,您可以在Site.css中添加类似内容:

#mydiv { background-image: url('../Images/myimage.png'); }

从Razor视图中引用图片

从剃刀视图引用静态图片时,请使用@Url.Content("~/pathtofile")方法,或者更好的是,使用T4MVC(请参阅该页上的第2.4节)。

希望这有帮助。

答案 1 :(得分:0)

硬编码是一个坏主意。请改用@ Url.Content()。