我是怎样动态引入CSS样式的
首先我们必须知道,外部样式表文件都是由<LINK>这个HTML元素引入的。<LINK>必须写在<HEAD></HEAD>里面,那我们怎样将<LINK>元素的 HREF 引入链接属性在后台cs代码里动态修改呢?
看我的前台aspx文件:
<HEAD>
<asp:placeholder id="CSS_Control" runat="server"></asp:placeholder>
</HEAD>
1、我们要使用一个容器控件,在输出时它是不可见的,但使用它可以在后台动态的将各种HTML元素添加进去,而成为可在后台修改属性的HTML元素的载体。
2、怎样与后台代码联系起来:
我们必须在后台代码中定义一个同样ID名的容器控件:
protected System.Web.UI.WebControls.PlaceHolder CSS_Control;
private void Page_Load(object sender, System.EventArgs e)
{
//定义一个HTML元素
HtmlGenericControl objLink=new HtmlGenericControl("LINK");
objLink.ID="ID";
objLink.Attributes["rel"]="stylesheet";
objLink.Attributes["type"]="text/css";
//我的CSS样式表文件统一放在CSS文件夹里,这里使用datagrid1.css的样式表
//修改这个属性即可动态的更换CSS样式表文件,我通过Session实现用户样式的自由选择
objLink.Attributes["href"]="CSS\\datagrid1.css";
//把LINK元素装载到容器里面,就好啦!
CSS_Control.Controls.Add(objLink);
}
下面再多说一些,看看我怎样定义datagrid的几个样式的:
<asp:datagrid id="dg" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="15" CssClass="datagrid">
//这里的CssClass属性datagrid就是从CSS_Control容器里的LINK元素引入样式表里的类。
<HeaderStyle CssClass="header"></HeaderStyle>
//datagrid标题头的样式也可以自定义
<Columns>
</Columns>
</asp:datagrid>
下面是我的样式表:
.datagrid
{
border: SlateGray;
FONT-SIZE: 9pt;
FONT-FAMILY: verdana;
}
.header
{
font-size: 12px;
font-family: verdana;
height: 24px;
color:White;
background-color:SlateGray;
text-align: left;
}
.footer
{
background-color:#DDEEFF;
}
.item
{
FONT-SIZE: 9pt;
FONT-FAMILY: verdana;
text-decoration:none;
}
.page
{
background-color: #DDEEFF;
}
.selectedItem
{
background-color: mintcream;
}
这次就到这里啦!好好用的C#.NET啊!
看我的前台aspx文件:
<asp:placeholder id="CSS_Control" runat="server"></asp:placeholder>
</HEAD>
1、我们要使用一个容器控件,在输出时它是不可见的,但使用它可以在后台动态的将各种HTML元素添加进去,而成为可在后台修改属性的HTML元素的载体。
2、怎样与后台代码联系起来:
我们必须在后台代码中定义一个同样ID名的容器控件:
protected System.Web.UI.WebControls.PlaceHolder CSS_Control;
private void Page_Load(object sender, System.EventArgs e)
{
//定义一个HTML元素
HtmlGenericControl objLink=new HtmlGenericControl("LINK");
objLink.ID="ID";
objLink.Attributes["rel"]="stylesheet";
objLink.Attributes["type"]="text/css";
//我的CSS样式表文件统一放在CSS文件夹里,这里使用datagrid1.css的样式表
//修改这个属性即可动态的更换CSS样式表文件,我通过Session实现用户样式的自由选择
objLink.Attributes["href"]="CSS\\datagrid1.css";
//把LINK元素装载到容器里面,就好啦!
CSS_Control.Controls.Add(objLink);
}
下面再多说一些,看看我怎样定义datagrid的几个样式的:
<asp:datagrid id="dg" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="15" CssClass="datagrid">
//这里的CssClass属性datagrid就是从CSS_Control容器里的LINK元素引入样式表里的类。
<HeaderStyle CssClass="header"></HeaderStyle>
//datagrid标题头的样式也可以自定义
<Columns>
</Columns>
</asp:datagrid>
下面是我的样式表:
.datagrid
{
border: SlateGray;
FONT-SIZE: 9pt;
FONT-FAMILY: verdana;
}
.header
{
font-size: 12px;
font-family: verdana;
height: 24px;
color:White;
background-color:SlateGray;
text-align: left;
}
.footer
{
background-color:#DDEEFF;
}
.item
{
FONT-SIZE: 9pt;
FONT-FAMILY: verdana;
text-decoration:none;
}
.page
{
background-color: #DDEEFF;
}
.selectedItem
{
background-color: mintcream;
}
这次就到这里啦!好好用的C#.NET啊!
专注:协同制造+人人互联
浙公网安备 33010602011771号