<link href="CSS/make.css" rel="stylesheet" />
这是一个名为"Default.aspx"
的页面的外部css文件,位于"Root/Pages"
目录中。
所以在"Root/Pages"
我们会有这些:
Default.aspx
CSS/make.css
如果我从当前位置启动Default.aspx
,它将正常工作,但用户可以从主页面更改Default.aspx的目录。然后在Code-Behind中,我将所有Pages内容复制到另一个目录中。
想想我会将Default.aspx和CSS文件夹从Root/Pages
复制到Root/Backup
并尝试从新位置启动Default.aspx。在这种情况下,它无法读取和加载外部css文件!
如何从容器页面的位置动态更改css href链接?
例如,将href="CSS/make.css"
更改为href="BackUp/CSS/make.css"
。
经过一些研究后我发现我应该使用全局和URL路由,但我没有得到任何工作结果。
答案 0 :(得分:1)
如果您将css文件放在根目录中,请使用以下命令引用它:
<link href="/make.css" rel="stylesheet" />
即使您将Default.aspx
移到另一个位置,它现在也应该有效。这样做的缺点是,如果您打算将它用于具有不同CSS文件的多个不同页面,它可能会使您的根目录混乱。
让我知道它是否有效以及我是否理解你的问题。
答案 1 :(得分:0)
function DynamicURL()
{
var URL='CSS/make.css';
var BackUp ='BackUp/';
if (Your condition when it changes directory)
URL = Backup + URL;
document.getElementById('Field').href= URL;
}
不要忘记将ID设置为链接href字段。