我可以动态地在asp.net中为页面添加两个CSS文件吗?

时间:2010-08-09 07:02:16

标签: asp.net html css

我的应用程序中有一个页面,我需要根据登录用户动态加载两个css文件。

如何动态地在一个页面中加载两个css文件?

这是我动态生成css的代码:

这是我的代码:

  HtmlLink objCSS = new HtmlLink();
  objCSS.Attributes.Add("href", "Includes/css/ADxMenuEmbed.css");
  objCSS.Attributes.Add("rel", "stylesheet");    
  objCSS.Attributes.Add("type", "text/css");
  Header.Controls.Add(objCSS);

任何人都可以提供一些想法或样本来解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

以下是您可以在asp.net应用程序中动态添加css文件的方法

如果你想根据用户登录加载文件,你必须把条件放在使用角色或你正在使用的独特的东西上

protected void Page_Init(object sender, EventArgs e)
{

  HtmlLink css = new HtmlLink();
  css.Href = "css/fancyforms.css";
  css.Attributes["rel"] = "stylesheet";
  css.Attributes["type"] = "text/css";
  css.Attributes["media"] = "all";
  Page.Header.Controls.Add(css);
}

答案 1 :(得分:2)

您可以像@June建议的那样在Code Behind中加载表单,或者您可以使用内联代码将其加载到aspx本身(有些人不赞成,但由于css文件是布局逻辑,我更喜欢这样做)

如果你总是加载第二个样式表,只是你为每个用户加载一个不同的样式表,你可以在aspx页面的head标签内写这样的东西。

 <link href="<%= the name of your style sheet %>" rel="stylesheet" type="text/css" />

如果您只放置样式表,有时可以写这个

<% if (whatever)
   { %>
    <link href="style.css" rel="stylesheet" type="text/css" />
<%} %>