动态添加CSS asp.net页面

时间:2018-09-28 01:01:26

标签: c# asp.net

我有3个css文件(File.css,File2.css,File3.css),它们具有相同的类名“ BkImg”,它更改了页面的背景图像,并且根据我在代码隐藏页面中的某些条件,我想链接一个这些文件。 在我的aspx正文标签()中。

我正在使用C#作为语言的代码

2 个答案:

答案 0 :(得分:1)

首先为body标签添加'id'和'runat'属性。

<body id="mybody" runat="server">

然后,您可以通过page_load事件或其他事件动态添加Calss。

protected void Page_Load(object sender, EventArgs e)
{

   mybody.Attributes.Add("class", "classname();");

}

答案 1 :(得分:1)

类似于this question.

对该问题答案的改编。

您可以在文件后面的代码中使用Page_Init函数动态生成链接并将其添加到页面标题(或您的正文)中。 C#下面是该函数的示例。当然,您将实现更改Href值的逻辑。

protected void Page_Init(object sender, EventArgs e)
{
    var link = new HtmlLink();
    link.Href = "~/styles/main.css";
    link.Attributes.Add("rel", "stylesheet");
    link.Attributes.Add("type", "text/css");
    Page.Body.Controls.Add(link);
}

确保在主体标签中放置runat="server",以便可以从文件后面的代码中引用主体。

<body runat="server">
</body>