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