10.1 主题
在web应用程序中,通常所有的页面都有统一的外观和操作方式,ASP.NET通过应用主题来提供统一的外观。主题包括外观文件、CSS文件和图片文件等。
10.1.1 主题概述:
和CSS类似, 主题包含了定义页面和控件外观的属性集合,可以认为主题是CSS的扩
展。主题至少应包含外观文件,另外,还可以包括CSS文件、图片资源及其他资源。
主题类型中最常用的是应用于单个web应用程序的应用程序主题。它存储于网站根文件
夹下的App_Themes文件夹中,也就是说,App_Themes文件夹中的每个子文件夹都对应一个
应用程序主题。
10.1.2 自定义主题:
1.主题和外观文件:
一个主题必须包含外观文件。
2.添加CSS到主题:
外观文件只能定义于服务器控件相关的样式,如果要设置XHTML元素的样式,则要
通过在主题中添加CSS文件来实现。
3.添加图片文件到主题:
在主题中添加图片文件,可以创建更好的控件外观。
10.1.3 使用主题:
自定义或从网上下载主题后,就可以在web程序中使用主题。使用时,可以在单个页面
中应用主题,也可以在网站或网站的部分页面中应用主题。
1.对单个页面应用主题:
需要使用@Page指令的Theme或StylesheetTheme属性。
2.对网站应用主题:
可以通过修改网站的web.config文件,将主题应用于整个网站。
3.禁用主题:
默认情况下,主题将重写页面和控件外观的本地设置。若希望单独给某些控件或页
面预定义外观,而不希望主题改变预设的属性,就可以通过禁用主题来实现。具体实现
时,是否禁用主题由控件和页面的EnableTheming属性确定。
10.2 母版页
利用母版页可以方便快捷地建立统一页面风格的ASP.NET网站,并且容易管理和维护从而大大提高网站设计效率。
10.2.1 母版页概述:
母版页可以为页面创建一致的布局。使用时,母版页为页面定义所需的外观和标准行
为,然后在母版页基础上创建要包含显示内容的各个内容项。当用户请求内容页时,这些内
容页将于母版页合并,使得母版页的布局与内容页的内容可以组合在一起输出。
优点:
(1)使用母版页可以集中吃醋李页面的通用功能,也就是说,若要修改所有页面
的通用功能,只需要修改母版页即可。
(2)使用母版页可以方便地创建一组控件和代码,并应用于一组页面。
(3)通过控制占位符控件的呈现方式,母版页可以在细节上控制最终页的布局。
10.3 用户控件
在ASP.NET页面中,除了使用Web服务器控件外,还可以根据需要创建重复使用的自定义控件,这些控件被称作用户控件。用户控件是一种符合控件,工作原理非常类似于ASP.NET页面,可以在用户控件中添加现有的web服务器控件,并定义控件的属性和方法。用户控件在实际工程中常用于统一页面局部的显示风格。
10.3.1 概述:
在网站设计中,有时可能需要实现内置web服务器控件未提供的功能,有时可能需要提
取多个页面中相同的用户界面来统一页面显示风格。
用户控件对应的文件与.aspx文件相似,同时具有用户界面和方法代码。
用户控件和web窗体的区别:
(1)存放用户控件的文件扩展名为.ascx
(2)用户控件中没有@Page指令,但包含@Control指令。
(3)用户控件不能作为独立文件运行,而必须像处理其他控件一样,只有将它提
那家到web窗体中后才能使用。
(4)用户控件中没有html、body或form元素,这些元素必须位于宿主页面中。