All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQLServer的连接处理技巧_[SQL,Server教程]
20个实用PHP实例代码_[PHP教程]
在Win2003,R2上安装SQL,Server,2005(一)_mssql学习_编程技术
C#中创建Windows窗体
AJAX并不神秘:揭密各种AJAX控件和类库_[AJAX教程]
通俗的最新PHP类的使用和归纳_[PHP教程]
多种方法实现超长字符用-.....-代替_[Asp.Net教程]
SQL Server开发中注意的十个问题_[SQL Server教程]
SESSION的使用及原理_[Asp.Net教程]
GDI+中的元文件
Reading number is top 10 pictures
西游日记3
白嫩丰满美女照片
生活中总有些低调的人,不经意间散发出土豪的气质
Female model behind the bitterness, often being overcharged2
狗狗与主人神同步1
Exquisite decoration is not paying too much3
Sora aoi in China1
粉红蕾丝的美女
Sora aoi on twitter1
The service WaLiangGe Chinese aircraft carrier1
Download software ranking
asp.netWeb服务器高级编程
天龙八部十二宫服务端
Tram sex maniac 2 (H) rar bag8
The Bermuda triangle3
ASP.NET.2.0.XML.高级编程(第3版)
双旗镇刀客A
Unix video tutorial7
C语言教程TXT
Ashlynn Video2
功夫熊猫2(上集)
delv published in(发表于) 2014/1/6 8:48:38 Edit(编辑)
ASP.NET,2.0配合MasterPage的优化CSS_[Asp.Net教程]

ASP.NET,2.0配合MasterPage的优化CSS_[Asp.Net教程]

ASP.NET 2.0配合MasterPage的优化CSS_[Asp.Net教程]

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);
 }
}

  这样,在具体页面,我们就可以通过如下代码添加 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 文件的职责分离,更容易理解和维护。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.