ASP.NET 2.0配合MasterPage的优化CSS
2006-10-16 16:41
447 查看
ASP.NET 2.0 中增加了内建的 MasterPage 的支持,这对我们来说是一个很大的便利。然而经过一段时间的使用,我发现 MasterPage 并不是那么完美:嵌套的 MasterPage 不能支持设计时界面,以及下面要提到的Content Page 中增加 CSS 的问题。
通常,在没有 2.0 之前,我们在页面里要增加一个 CSS 引用的语法如下:
<link rel="stylesheet" href="css/test.css" />
原本是很平常的做法。但是在一个 MasterPage 的子页面中,出现了一个很尴尬的局面,就是:我们该把上述代码放到什么位置?
因为 MasterPage 的具体内容页面中,只能定义一个个的 <asp:Content /> 标签的内容。我们按照通常的做法在 aspx 里面无法对页面的 <header/> 内容进行控制。而这个 <link/> 标签又必须放在 <header/> 内。我试验过在 <asp:Content /> 内部加入这行代码,但是会提示出错的。
同时,我们也无法在 MasterPage 的 <header/> 内部放好一个 ContentPlaceHolder 用于将来放入 CSS 的引用代码。
因此我的做法是定义了一个 helper 类如下:
static public class ControlHelper
{
static public void AddStyleSheet(Page page, string cssPath)
{
HtmlLink link = new HtmlLink();
link.Href = cssPath;
link.Attributes["rel"] = "stylesheet";
link.Attributes["type"] = "text/css";
page.Header.Controls.Add(link);
}
}
通常,在没有 2.0 之前,我们在页面里要增加一个 CSS 引用的语法如下:
<link rel="stylesheet" href="css/test.css" />
原本是很平常的做法。但是在一个 MasterPage 的子页面中,出现了一个很尴尬的局面,就是:我们该把上述代码放到什么位置?
因为 MasterPage 的具体内容页面中,只能定义一个个的 <asp:Content /> 标签的内容。我们按照通常的做法在 aspx 里面无法对页面的 <header/> 内容进行控制。而这个 <link/> 标签又必须放在 <header/> 内。我试验过在 <asp:Content /> 内部加入这行代码,但是会提示出错的。
同时,我们也无法在 MasterPage 的 <header/> 内部放好一个 ContentPlaceHolder 用于将来放入 CSS 的引用代码。
因此我的做法是定义了一个 helper 类如下:
static public class ControlHelper
{
static public void AddStyleSheet(Page page, string cssPath)
{
HtmlLink link = new HtmlLink();
link.Href = cssPath;
link.Attributes["rel"] = "stylesheet";
link.Attributes["type"] = "text/css";
page.Header.Controls.Add(link);
}
}
相关文章推荐
- ASP.NET 2.0配合MasterPage的优化CSS
- ASP.NET 2.0配合MasterPage的优化CSS
- ASP.NET 2.0配合MasterPage的优化CSS
- ASP.NET 2.0配合MasterPage的优化CSS
- ASP.NET 2.0配合MasterPage的优化CSS
- ASP.NET 2.0配合MasterPage的优化CSS
- ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
- ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
- ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
- ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
- 技巧和诀窍:使用ASP.NET 2.0 CSS 控件适配器生成CSS友好的HTML输出
- web优化之-Asp.net MVC js、css动态合并 动态压缩 (2)
- ASP.NET 2.0中CSS失效的问题总结
- 转自msdn magzine----将 JavaScript 与 ASP.NET 2.0 配合使用
- ASP.NET 2.0中CSS失效的问题总结
- ASP.NET 2.0: 页面中链入的CSS、js文件带中文时需注意
- ASP.NET 2.0中CSS失效的问题总结(转)
- Asp.net 控件(2)-CSS Control Adapter Toolkit for ASP.NET 2.0 (转载)
- 将 JavaScript 与 ASP.NET 2.0 配合使用
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(六) 之 Layim源码改造右键菜单--好友、组管理功能的实现。