您的位置:首页 > Web前端 > CSS

应用MasterPage的页面引用外部CSS文件的方法

2007-07-21 19:08 525 查看
首先,如果在应用了MasterPage的页面<asp:Content〉标签外部添加<link>标签引用CSS文件,会造成编译错误。如果在<asp:Content〉标签内引用CSS文件,会造成解释错误.在MasterPage的<head>标签中引用CSS文件,会导致所有应用了该MasterPage的页面全部引用了该CSS文件,同时会造成一些微妙的引用路径问题。那么如果想让应用了MasterPage的页面引用自己的CSS文件,有这样一种解决方案——使用一个自定义控件,负责向<head>标签写入引用CSS文件的<link>标签,具体可以看一下木野狐的一篇文章ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型。

另外,相对于这种方法,还有一种简单的Hack,首先在MasterPage中添加<link>标签,但是herf属性为空

<head runat="server">
<link id="cssStyleSheet1" rel="stylesheet" type="text/css" runat="server" />
<link id="cssStyleSheet2" rel="stylesheet" type="text/css" runat="server" />
<link id="cssStyleSheet3" rel="stylesheet" type="text/css" runat="server" />
</head>

数量只能寒一个了……如果不知道用多少,还是多放几个好了。然后在应用了MasterPage的页面里动态修改<link>标签的herf属性

protected void Page_Init(object sender, EventArgs e) {
if (!IsPostBack) {
HtmlLink csslink = (HtmlLink)Master.FindControl("cssStyleSheet1");
csslink.Attributes.Add("href","Cart.css");
}
}

目前我发现的办法就只有这两种了,如果各位还有什么好的办法,恳请告诉小弟,目前正在弄一个涉及这个问题的应用

PS.园子是不是有个bug?突然发现,到首页了……似乎发到别的分类的,再编辑默认分类就变首页了……-_-bb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐