为使用Master的ASP.NET Content页面添加CSS样式

使用了MasterASP.NET Content页面无法直接引用外部样式或内嵌样式,因为CSS样式必须出现在HTMLhead标签内,而Content页面自身是不能包含head的。不过通过编程,很容易做到这一点,以下就是解决方案(也可以用相同的手段来添加其他HTML元素)。先定义以下两个方法:

  1. 内嵌样式支持

protected void AddInlineStyle(string style)
{
 HtmlGenericControl node = new
  HtmlGenericControl("style");
 node.Attributes.Add("type", "text/css");
 node.InnerText = style;
 Page.Header.Controls.Add(node);
}

  1. 外部样式支持

protected void AddLinkedStyle(string url)
{
 HtmlLink link = new HtmlLink();
 link.Attributes.Add("type", "text/css");
 link.Attributes.Add("rel", "stylesheet");
 link.Attributes.Add("href", url);
 Page.Header.Controls.Add(link);
}

Page_Load 方法中,使用上面两个方法来添加样式:

  1. 添加内嵌样式

AddInlineStyle("body { padding:10px; margin:5px 0; }");

  1. 引用外部样式

AddLinkedStyle("/styles/layout.css");

简单而实用。HtmlGenericControl 是相当有用的类,在ASP.NET中可以用来定制很多输出行为,实在是应该多加利用的好东东。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值