【asp源码栏目提醒】:网学会员为广大网友收集整理了,ASP.NET程序设计教程 崔连和 ch09-主题和母版页技术 - 职业教育,希望对大家有所帮助!
ASP.NET程序设计教程 中国 黑龙江齐齐哈尔大学 崔连和PA R T 9------主题和母版页技术 第9章 主题和母版页技术 9.2.1 概述 9.1.1 概述 9.2.2 创建页面主题 9.1.2 CSS样式的创建 9.2.3 创建皮肤 9.1.3 CSS样式的应用 CSS样式 主题的使用 9.2.4 主题图片和其他资源 9.2.5 主题的应用与禁用 9.2.6 主题与级联样式(CSS)9.3.1 母版页的组成9.3.2 母版页技术常用控件9.3.3 母版页的运行过程9.3.4 母版页的优越之处 本章小结9.3.5 母版页技术应用过程 母版页 综合实例 每章一考9.3.6 母版页的创建与使用9.3.7 母版页的原理9.3.8 母版页与内容页的关联9.3.9 母版页编程 第9章 9.1 CSS样式9.1 CSS样式 9.1.1 概述 网站页面的布局 1.CSS的含义通常有表格布局和 CS5实质上是一系列格式设置规则,它CSSDIV布局两种方 们控制Web页面内容的外观。
使用CSS设置 页面格式时,内容与表现形式是相互分开式。
CSS是用于增强 的。
控制网页样式并允许 CSS 样式可以通过内联方式放置在单将样式信息与网页内 个HTML元素内,也可以在Web页HEAD部分的容分离的一种标记语 ltSTYLEgt块内加以分组,或从单独的CSS样言。
减少网页的代码 式表文件中导入。
80量,加快页面传送速度。
第9章 9.1 CSS样式9.1 CSS样式 2.CSS样式的分类 CSS样式表按其位置的不同可以分为内联样式( 网站页面的布局 Inline Style)、内部样式表(Internal Style Sheet通常有表格布局和 )及外部样式表(External Style Sheet)三类。
98CSSDIV布局两种方 1. 内联样式(Inline Style)。
内联样式是写在HTML标记之式。
CSS是用于增强 中的,它只针对自己所在的标记起作用。
样式的属性、控制网页样式并允许 内容直接包含在将要修饰的文字标记里。
将样式信息与网页内 2.内部样式表(Internal Style Sheet)。
内部样式表是写 在ltheadgtlt/headgt里面的,它只针对所在的HTML页面容分离的一种标记语 有效。
言。
减少网页的代码 3.外部样式表(External Style Sheet)。
把内联样式表量,加快页面传送速 中的ltstylegtlt/stylegt之间的样式规则定义语句放在一个度。
单独的外部文件中,其扩展名是css。
一个外部样式表 文件可以通过ltlinkgt标签连接到HTML文档中。
第9章 9.1 CSS样式9.1 CSS样式 9.1.2 CSS样式的创建 将光标定位在样式表文 件编辑窗口,然后单击样式 在“解决方案资源管理器” 表文件编辑区上部的“生成 中,单击右键“添加新项”,在弹 样式”,将弹出“修改样式” 网站页面的布局 出的“添加新项”菜单中选择“样 窗口,在该窗口中可以很直 式表”,单击“添加”按钮 观地进行样式设置。
通常有表格布局和 添加样式表 生成样式CSSDIV布局两种方式。
CSS是用于增强控制网页样式并允许 1 2 3 4将样式信息与网页内 启动VS 2010 添加样式规则 依次在主菜单中选择 右键单击样式文件窗口,在弹出的样容分离的一种标记语 “文件新建网站”命令, 式菜单中选择“添加样式规则”命令。
在 出现“新建网站”对话框 该窗口左侧提供了三种类型的样式选择器言。
减少网页的代码 ,选择“
ASP.NET空网站 1)元素:用于指定一个HTML元素。
”,单击“确定”按钮, 2)类名:用于创建通用的样式规则。
量,加快页面传送速 3)元素ID:为页面上指定的元素的ID设置 完成新网站的建立 样式。
度。
第9章 9.1 CSS样式9.1 CSS样式 9.1.3 CSS样式的应用 网站页面的布局 1.CSS样式的应用十分简单,只需在“解通常有表格布局和 决方案资源管理器”中,选择已经建立的CSSDIV布局两种方 样式拖到设计视图中即可。
式。
CSS是用于增强控制网页样式并允许将样式信息与网页内容分离的一种标记语言。
减少网页的代码量,加快页面传送速 80度。
第9章 9.2 主题的使用9.2 主题的使用 9.2.1 概述 主题分为页面主题和全局主题两种。
1)页面主题是一个主题文件夹,其中包含控 件皮肤、样式表、图形文件和其他资源。
在实际应用中, 2)全局主题存储在对Web服务器具有全局性 质的名为Themes的文件夹中。
主题技术十分实用, 主题的分类通过利用主题功能,可以为页面中的所有 1 2 3Button控件定义共同的皮肤,如背景颜色 主题的含义 皮肤文件的含义 主题由外观、级联样 皮肤即外观文件,皮肤文和前景颜色,而不必 式表(CSS)、图像和其 件具有文件扩展名skin,它包 他资源组成,它提供了一 含各个控件的属性设置。
控件一一设置每一个页面 种简单的方法设置控件的 外观设置类似于控件标记本身 样式属性。
外观文件具有 ,但只包含要作为主题的一部中按钮控件的风格 文件扩展名 skin,它包含 分来设置的属性 各个控件的属性设置。
9.2.2 创建页面主题创建页面主题9.2.3 创建皮肤 右键单击App_Themes文件夹,在弹出的菜单中选择“添加新项”,在添加新项窗口选择“外观文件”项,并重新命名。
接下来,出现皮肤文件编辑窗口,微软公司没有提供皮肤代码生成器,只能手工录入,程序员习惯在设计视图中设计好控件的外观,然后复制到皮肤文件中,并去掉ID属性和其他与控件呈现不相关的属性设置。
第9章 9.2 主题的使用9.2 主题的使用 9.2.4 主题图片和其他资源 在实际应用中, 1.若要引用主题文件夹的某个子文件夹主题技术十分实用, 中的资源文件,应使用类似于该Image控通过利用主题功能, 件外观中显示的路径。
可以为页面中的所有 ltasp:Image runatquotserverquot ImageUrlquot主题子文件 夹/文件名quot /gtButton控件定义共同 2.如果主题的资源在应用程序的某个子文的皮肤,如背景颜色 件夹中,则可以使用格式为“/子文件夹和前景颜色,而不必 /文件名”的路径来引用这些资源文件。
一一设置每一个页面 ltasp:Image runat“server” ImageUrl“/应用程序 子文件夹/文件名” /gt中按钮控件的风格 80 第9章 9.2 主题的使用9.2 主题的使用 9.2.5 主题的应用与禁用 为单个页面指定主题,只需要在页面的 page指令中按如下设置即可。
但要注意一 个页面只能应用一个主题,但该主题中可以 在实际应用中, 有多个外观文件。
< pages themequot主题名称quot >主题技术十分实用, 对单个页面应用主题通过利用主题功能,可以为页面中的所有 1 2 3Button控件定义共同的皮肤,如背景颜色 对整个网站应用主题 禁用主题 在web.config文件中,指定< 禁用主题时将该页面的和前景颜色,而不必 pages>元素设置为页面主题或全 page指令的EnableTheming 局主题的名称,为应用程序中的所 属性设置为false,如下所示。
一一设置每一个页面 有页定义应用的主题。
在此特别强 < page 调,母版页不能应用主题。
主题应 EnableThemingquotfalsequot >中按钮控件的风格 用格式如下。
<pages themequot主题名称quot/> 第9章 9.2 主题的使用9.2 主题的使用 9.2.6 主题与级联样式(CSS) 80 在实际应用中,主题技术十分实用, 1)主题可以定义控件属性,而样式表不能定 义控件属性。
通过利用主题功能,可以为页面中的所有 2)主题应用的优先级方式与样式表不同。
默认情况下 ,页面的Theme属性所引用的主题中定义的任何属性值Button控件定义共同 都会重写控件上以声明方式设置的属性值,除非使用的皮肤,如背景颜色 StyleSheetTheme 属性显式应用主题。
和前景颜色,而不必 3)每个Web页只能应用一个主题。
不能向一页应用多个一一设置每一个页面 主题,这与样式表不同,样式表可以向一个Web页应用中按钮控件的风格 多个样式表。
第9章 9.3 母版页9.3 母版页 9.3.1 母版页的组成 使用母版页技术 1.母版页,用户可批量制作网 母版页是具有扩展名master的页、维护网页。
使用
ASP.NET文件,母版页可以包括静态元
ASP.NET母版页可为 素、动态元素,还可以包括
ASP.NET的 各种控件。
母版页由特殊的master指应用程序中的页创建 令标识,该指令替换了普通.aspx文件一致的布局。
单个母 的page指令。
版页可以为应用程序 lt Master LanguagequotCquot中的所有页定义所需 AutoEventWireupquottruequot的外观和标准行为。
CodeFilequotMasterPage.master.csquotgt 80 第9章 9.3 母版页2.内容页 不能有lthtmlgt、ltheadgt、 一定要设定 ltbodygt和执行在服务器端的 1 2 MasterPageFile ltformgt标签,因为这些标签早已定 属性以指定所使 义在母版中,内容页只能定义网页内 用的母版页。
容。
当浏览内容页时,就会将母版页 加上内容页一起输出到浏览器。
遵循 规则 为了对应到母版页的ContentPlaceHolder 控件 Content控件的 ContentPlaceHolderID一 3 4,在内容页中一定要添加Content控件。
放在 定要与母版页中Content控件中的正文或服 ContentPlaceHolder控件务器控件等,会对应到适当 的ID属性值对应,否则程的位置。
序会出错。
9.3.2 母版页技术常用控件1.ContentPlaceHolder控件 属 性 说 明 为 当 前 Web 请 求 获 取 与 服 务 器 控 件 关 联 的Context HttpContext对象ID 获取或设置分配给服务器控件的编程标识符Page 获取对包含服务器控件的Page实例的引用 获取包含当前服务器控件的Page或UserControl的TemplateSourceDirectory 虚拟目录AppRelativeTemplateSource 获取或设置包含该控件的Page或UserControl对象Directory 的应用程序相对虚拟目录(从Control继承) 获取ControlCollection对象,该对象表示UI层次结Controls 构中指定服务器控件的子控件(从Control继承) 获取或设置一个值,该值指示主题是否应用于该EnableTheming 控件(从Control继承) 获取或设置一个值,该值指示服务器控件是否向EnableViewState 发出请求的客户端保持自己的视图状态以及它所 包含的任何子控件的视图状态(从Control继承) 获取对页 UI 层次结构中服务器控件的父控件的Parent 引用(从Control继承) 获取对服务器控件的命名容器的引用,此引用创建NamingContainer 唯一的命名空间,以区分具有相同 Control.ID 属性值 的服务器控件(从Control 继承) 获取容器信息,该容器在呈现于设计图面上时承载Site 当前控件(从Control继承)SkinID 获取或设置要应用于控件的外观(从Control继承) 获取或设置对包含该控件的模板的引用(从ControlTemplateControl 继承) 获取包含当前服务器控件的Page或UserControl的虚TemplateSourceDirectory 拟目录(从Control继承) 获取服务器控件的唯一的、以分层形式限定的标识UniqueID 符(从Control继承) 获取或设置一个值,该值指示服务器控件是否作为Visible UI呈现在页上(从Control继承)BindingContainer 获取包含该控件的数据绑定的控件(从Control继承) 第9章 9.3 母版页9.3 母版页 2.Content控件 1Content 控件是内容页的内容和控件的 使用母版页技术 容器,与母版页上的ContentPlaceHolder,用户可批量制作网 控件相对应。
2运行时Content 控件中的内容直接合并页、维护网页。
使用 到母版页对应的 ContentPlaceHolder 控
ASP.NET母版页可为 件中。
应用程序中的页创建 3Content 控件使用它的 ContentPlaceHolderID 属性与一个一致的布局。
单个母 ContentPlaceHolder 关联。
将版页可以为应用程序 ContentPlaceHolderID 属性设置为母版页中的所有页定义所需 中 ContentPlaceHolder 控件的 ID 属性的外观和标准行为。
的值。
80 第9章 9.3 母版页 9.3.3 母版页的运行过程 用户通过输入内容页的URL来 请求某个页面,如,假设母版文件 获取该页之后,读取 Page 为A.master。
1 2 指令。
如果该指令引用一个母版 lt Mastergt 页,则将读取该母版页。
如果是 ltasp:contentplaceholder 第一次请求这两个页面,则两个 runatquotserve idquot“Mainquot/gt 页面都要进行编译。
ltasp:contentplaceholder runatquotserve idquot“Footerquot/gt 处理 将包含更新内容的母版页合并到内容页的控件中。
如下所示,设内容文件为A.aspx。
步骤lt Page 各个Content控件的MasterPageFilequot/A.msterquotgt 内容合并到母版页中相应 3 4ltasp:Content 的 ContentPlaceHolderrunatquotservequotContentPlaceHolde 控件中。
最后浏览器将呈rquotMainquotgt此处为内容 现得到后的合并页。
即lt/
asp:Contentgt A.Master与A.aspx的合并ltasp:Content 出来的页面。
runatquotservequotContentPlaceHolderquotFooterquotgt此处为内容lt/
asp:Contentgt 第9章 .