更改CSS href链接Dynamiclly

时间:2016-01-20 11:28:42

标签: c# asp.net

<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路由,但我没有得到任何工作结果。

2 个答案:

答案 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字段。