1

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

4

2 回答 2

1

从 CSS 中引用图像

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

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

换句话说,要myimage.png用作背景图像,您可以将这样的内容放入Site.css

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

从 Razor 视图中引用图像

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

希望这可以帮助。

于 2013-06-24T22:18:41.187 回答
0

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

于 2013-06-24T21:55:59.897 回答