我想将app_themes css文件合并到一个文件中。我使用Mads Cristensen这样做了
技术。但现在所有通过css(见图片)定义背景图像的元素都不显示图像。
。
我相信这是因为css文件不再相对引用(../),而是通过axd文件。
我试图通过更改对图像文件的引用来解决这个问题,但没有成功。我已经尝试background: url("~/App_Themes/44/images/myimage.gif")
,这适用于组合css的页面。但问题是这个项目中还有其他页面没有使用这个css组合,现在他们失去了对背景图像的引用。
有任何想法吗?
答案 0 :(得分:1)
我认为在这种情况下ApplicationPath可能会引起一些混淆......
使用* .css文件中的逻辑路径(相对于Web服务器的根目录)将无论是从 App_Themes 文件夹还是通过* .axd处理程序本地呈现,都将起作用。
举个例子:
body
{
background-image:url('/WebSite1/App_Themes/Theme1/Image/Logo3.png');
}
这将正确解析它是通过根目录(或根目录下方的任何深度)的* .axd处理程序呈现的,如果它在 /WebSite1/App_Themes/Theme1/StyleSheet.css <呈现,它将解析/强>
以〜开头的ASP.NET特定路径(所谓的根相对路径)在* .css文件中没有强制,需要先使用ResolveUrl()将其解析为逻辑路径。