我的应用程序中有一个页面,我需要根据登录用户动态加载两个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);
任何人都可以提供一些想法或样本来解决这个问题吗?
答案 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" />
<%} %>