ASP.NET2.0中配合MasterPage使用的优化CSS模型
来源:互联网 发布:天涯明月刀男脸型数据 编辑:程序博客网 时间:2024/06/05 23:53
通常,在没有 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);
}
}
这样,在具体页面,我们就可以通过如下代码添加 CSS 引用:
protected void Page_Load(object sender, EventArgs e)
{
ControlHelper.AddStyleSheet(this.Page, "CSS/projectPage.CSS");
}
并且,这个代码支持在具体内容页面,或者一个嵌套的 Master Page 中使用。
说到这里也许有人会问,为什么要把 CSS 分开成这样来加载呢?有必要吗?我把所有页面的 CSS 定义到几个公共 CSS 文件里岂不是很好?
其实,熟悉 web 标准的 HTML 制作的朋友一定知道,在比较完美的状态下,页面的 html 和用于表现的 CSS 应该彻底分离。而我们基于 web 标准的设计,通常是先做出一个 Master Page 中各个框架 div 的定位代码,以及 header,footer 部分的修饰代码。这些是每个内容页面都要用到的,会放在一个统一的 CSS 里面。其他的具体内容页面,每个页面又会有各自不同的内容的布局,修饰样式,因此我把每个具体页面特定的部分放在它自己的 CSS里。这样就形成了一个按照 Master Page 的实现层次(可嵌套),逐层合并的 CSS 模型。其好处是实现了每个 CSS 文件的职责分离,更容易理解和维护。
由于 ASP.NET 2.0 接触不久,以上仅为个人摸索出的一点小经验,如果有更方便的解决办法,请各位朋友多多指教。
http://rchen.cnblogs.com/archive/2006/05/23/masterpage_with_CSS.html
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- ASP.NET2.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.net2.0中tablecontrol搭配masterpage的小bug
- ASP.NET2.0MasterPage使用技巧总结
- ASP.NET2.0MasterPage使用技巧总结
- ASP.NET2.0中themes、Skins和MasterPage中引用CSS
- asp.net2.0下嵌套masterpage页的可视化编辑
- asp.net2.0中Freetextbox的使用
- ASP.NET2.0中XSLT的使用
- ASP.NET2.0中XSLT的使用
- asp.net2.0中App_GlobalResources的使用
- ASP.NET基于角色的窗体安全认证机制
- 关于asp.net1.0升级到asp.net2.0时发现的一个有趣的问题
- ASP.NET中文件上传下载方法集合
- bcp将本地txt文本导入远程sqlserver中,本地未装sqlserver
- 在ASP.NETAtlas中调用WebService—批量调用以提高效率
- ASP.NET2.0中配合MasterPage使用的优化CSS模型
- SOA架构暴露固有缺陷 CIO应时刻警惕
- ASP.net在页面所有内容生成后、输出内容前对页面内容进行操作
- Effective Using LINQ To SQL (1) - 分頁技巧
- asp.net水晶报表-主从表关联问题
- 由于未处理服务器端代码而导致ASP.NET页出现意外情况
- 对asp.net1.1开发模板类的一些修改说明
- SOA的模型行为
- 解决错误:sql_variantisincompatiblewithxml(ASP.NET2.0/XML数据类型)