与DotNetNuke中的相对路径一起发行

111*_*110 1 css asp.net dotnetnuke relative-path

我创建了自定义dnn模块.当然,模块是一个单独的组件.在模块项目中我有文件夹Images.我有一个可怕的问题来引用相对路径的图像.我试过了

background: url(~/Images/image01.png)
background: url(~/MyCustomModule/Images/image01.png)
background: url(~/DesktopModules/MyCustomModule/Images/image01.png)
etc.
Run Code Online (Sandbox Code Playgroud)

没有任何作用.让它发挥作用的唯一方法是我写下这样的东西:

background: url(../../DesktopModules/MyCustomModule/Images/image01.png)
Run Code Online (Sandbox Code Playgroud)

但这适用于我的生产服务器,但不适用于我当地的dnn安装.有没有正确的方法来引用此文件夹中的图像?

Mit*_*ers 8

在CSS文件中,您有几个选项.

使用根路径

background: url(/DesktopModules/MyModule/Images/MyImage.png);
Run Code Online (Sandbox Code Playgroud)

这将工作,但只有在"子门户"或非虚拟目录设置中才有效.

如果你能做到这一点,最好的选择是使URL相对于css文件本身...

因此,如果您的css位于/ DesktopModules/MyModule中,那么您将使用

background: url(Images/MyImage.png); 
Run Code Online (Sandbox Code Playgroud)

这应该适用于这两种情况.