




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章ASP.net高级程序设计2学时内容提要母版页能够为ASP.NET应用程序创立统一的用户界面和样式,这是母版页的核心功能。报表是将业务数据以表格的形式表达,直观且易于理解,通常用于财务数据的展现和某些数据信息的统计资料。第9章ASP.NET高级程序开发浏览一些典型的大型Web网站时,用户会发现这些站点几乎都包含类似的外观,如一些相同的图形、外表、用户界面〔UI〕,甚至还包含一些导航菜单或搜索窗体,而且这些Web网站中的页面与页面之间给人的总体外观和感觉都比较统一,非常美观。为了有一个确定的、优化的解决方案,在不同的技术开展阶段有着不同的实现方法,如母版页和用户控件。9.1母版页技术9.1.1母版页的概念及优点为了减少在网页设计时出现的一变那么改变整个网站的问题发生,Microsoft在VisualStudio2005中增加了母版页的功能。它与网页模板有些相像,不同的是它不必每个页面都去更新,修改一次,所有的网页都会随之改变。母版页是一个具有扩展名为.master〔如MyMaster.master〕的ASP.NET文件,它可以包含静态布局。母版页由特殊的@Master指令识别,该指令的使用使母版页有别于内容页〔关于内容页,下一小节将会详解〕,且每个.master文件只能包含一条@
Master指令。9.1.1母版页的概念及优点
@Master指令支持几个属性,然而它的大多数属性都与@Page指令的属性相同。表9.1详细描述了对母版页有特殊含义的属性。属性说明ClassName指定为生成母版页而创建的类的名称。该值可以是任何一个有效的类名,但不用包括命名空间。默认情况下,simple.master的类名是ASP.simple_masterCodeFile指明包含与母版页关联的任何源代码的文件的URLInherits指定母版页要继承的代码隐藏类。这可以是任何一个派生于MasterPage的类MasterPageFile指定该母版页引用的母版页的名称。通过使用网页用来引用一个母版页的相同方法,一个母版页可以引用另一个母版页。如果设置了该属性,则会得到一个嵌套的母版页表9.1 @Master指令的属性及说明母版页具有下面的优点:〔1〕使用母版页可以集中处理页的通用功能,以便可以只在一个位置上进行更新,在很大程度上提高了工作效率。〔2〕使用母版页可以方便地创立一组公共控件和代码,并将其应用于网站中所有引用该母版页的网页。例如,可以在母版页上使用控件来创立一个应用于所有页的功能菜单。〔3〕可以通过控制母版页中的占位符ContentPlaceHolder对网页进行布局。〔4〕由内容页和母版页组成的对象模型能够为应用程序提供一种高效、易用的实现方式,并且这种对象模型的执行效率比以前的处理方式有了很大的提高。9.1.2母版页运行机制在ASP.NET的编译过程中,将会把母版页和内容页这两种文件的内容合并执行,母版页的内容将融入到内容页中,并且在用户请求时动态地产生一个效劳于用户的页面,可形象地称之为结果页,如图9.1所示。需要明确的是,这种合并过程在编译时只发生一次,并且母版页的内容绝不能充当内容页的基类。图9.1最终的页面结构结合了母版页和内容页母版页和内容页的运行过程如下:〔1〕用户通过键入内容页的URL来请求某页。〔2〕获取该页后,读取@Page指令。如果该指令引用一个母版页,那么也读取该母版页。如果这是第一次请求这两个页,那么两个页都要进行编译。〔3〕包含更新的内容的母版页合并到内容页的控件树中。〔4〕将各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。〔5〕浏览器中呈现得到的合并页。9.1.3创立母版页在ASP.NET2.0中,除了@Master指令和一个或多个ContentPlaceHolder效劳器控件外,母版页根本上类似于标准的ASP.NET页。例如,二者在代码结构方面都需要声明<html>、<body>、<form>以及其他Web元素等。二者唯一的重大区别就是在母版页中使用的ContentPlaceHolder容器控件〔普通的.aspx文件中不允许使用该控件〕。该容器控件起到一个占位符的作用,它能够在母版页中标识出某个区域,可以让相关网页插入定制控件的位置。但母版页中包含的是页面的公共局部,因此在创立母版页之前,必须判断哪些内容是页面的公共局部。图9.2选择“添加新项”命令“添加新项”命令图9.3创立母版页命名母版页并选择C#语言图9.4将母版页添加到“解决方案资源管理器”中主母版页图9.5默认的母版页ContentPlaceHolder容器控件程序中应用的母版页图9.6修改后的母版页在工具箱中添加ContentPlaceHolder容器控件9.1.4创立内容页在创立完一个完整的母版页之后,接下来必然要创立内容页。内容页的创立与母版页的创立差不多,其创立过程也比较简单。虽然内容页的扩展名与普通ASP.NET页面相同,但是其代码结构方面还是有着很大差异的。在创立内容页的过程中,希望读者始终要牢记以下两点:一是内容页中所有内容必须包含在Content控件中;二是内容页必须绑定母版页。图9.7创立内容页选择“Web窗体”项创立内容页时一定要勾选这两项图9.8选择母版页选择母版页图9.9基于母版页创立的页面内容页中的Content容器控件9.2Web用户控件技术9.2.1用户控件的概念及优点Web用户控件是一种效劳器控件,它与ASP.NET页面有着同样的“所见即所得”的特点和声明性样式,并以.ascx为扩展名存储为文本文件。Web用户控件与完整的ASP.NET网页〔即.aspx文件〕非常相似,同时具有自己的用户界面页和代码。开发人员可以采取与创立ASP.NET页相似的方式创立Web用户控件,然后向其中添加所需的标记和子控件。Web用户控件可以像页面一样包含对其内容进行操作〔包括执行数据绑定等任务〕的代码。此外,用户控件还拥有自己的对象模型的类,页面开发人员可以对其编程,它比效劳器端包含文件提供了更多的功能,为创立具有复杂用户界面元素的控件带来了极大方便。同时,编写Web用户控件的语言可以与包含它的页面语言有所不同,这意味着使用公共语言运行库支持的任何语言编写的Web用户控件可以在同一个页面中使用。用户控件提供了一个面向对象的编程模型,在一定程度上取代了效劳器端文件包含〔<!--#include-->〕指令,并且提供的功能比效劳器端包含文件提供的功能多。使用用户控件的主要优点如下:〔1〕可以将常用的内容或者控件以及控件的运行程序逻辑设计为用户控件,然后可以在多个网页中重复使用该用户控件,从而省去许多重复性的工作。〔2〕如果网页内容需要改变时,只需修改用户控件中的内容,其他添加使用该用户控件的网页会自动随之改变,因此网页的设计以及维护变得简单易行。9.2.2用户控件与普通的Web页比较用户控件几乎与.aspx文件相同,但是仍存在以下不同之处:〔1〕用户控件的文件扩展名为.ascx。〔2〕用户控件中没有@Page指令,而是包含@Control指令,该指令对配置及其他属性进行定义。〔3〕用户控件不能作为独立文件运行,而必须像处理任何控件一样,将它们添加到ASP.NET页中。〔4〕用户控件中没有html、body或form元素。9.2.3创立Web用户控件创立普通用户控件的步骤一般如下:〔1〕创立一个新文件并为其指定一个扩展名为.ascx的文件名。〔2〕在该页面的顶部创立一个@Control指令,并指定要为控件〔如果有〕使用的编程语言。〔3〕添加希望用户控件显示的控件。〔4〕添加用户控件要执行的任务〔如处理控件事件或从数据源读取数据〕的代码。〔5〕如果希望在用户控件和宿主页之间共享信息,需要在控件中创立相应的属性。根据需要可以创立任何类的属性。图9.10“添加新项”对话框命名用户控件选择“web用户控件”项9.2.4使用Web用户控件如果已经设计好了Web用户控件,可以将其添加到一个或者多个网页中。在同一个网页中也可以重复使用屡次,各个用户控件会以不同ID来标识。将用户控件添加到网页可以使用“Web窗体设计器”直接添加用户控件。图9.11将Web用户控件添加至网页图9.12用户控件的属性窗口9.2.5使用Web用户控件制作网站导航图9.13使用Web用户控件制作导航条9.3用数据控件实现的简单报表 设计报表有多种方式,如将Excel的表格导入到程序中并翻开预览,如使用第三方报表组件,还有可以使用ASP.NET2.0提供的数据控件,实现定制数据格式的数据展示功能。
9.3.1创立报表数据 报表主要是以特定格式显示数据资料,为了让读者可以轻松地掌握本功能,本例的报表数据来源于一个数据表。
9.3.2创立报表视图 报表数据已经存在,现在介绍如何使用ASP.NET2.0提供的数据控件用特定的格式展示报表数据。
图10-3“添加连接”对话框
图10-4测试查询
图10-5Repeater报表运行效果图
9.3.3打印报表 因为报表必须可以打印,本例还需要设计此报表的打印功能
图10-6Repeater报表打印效果图
图10-7系统打印窗口9.4水晶报表的介绍
在程序开发中,经常要对合并计算、多级汇总、制作图表、条件格式化进行编程。在这种情况下,用普通的数据控件往往一筹莫展。
而水晶报表大大简化了这些工作。用它可以制作非常漂亮的图表和格式化文本,而且还可以把报表导出为Word、Excel、PDF、HTML等格式。
水晶报表英文名为“CrystalReport”,其主要功能是用来表现数据。要向用户展示数据,可以编写代码对记录集进行循环处理,并在Windows应用程序或Web应用程序中输出这些数据。
图10-9用户许可协议对话框
图10-10选择报表模板
图10-11空白报表界面
9.4.2创立报表的数据集 数据集是报表数据的来源,可在此设置条件或关联多个表
图10-12数据集提示
图10-13数据集配置向导
图10-14选择命令类型
图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学一年级语文重要考点2025年试题及答案
- 荆门城投面试题及答案
- 第1讲 光的折射 全反射-2026版大一轮高考物理复习
- 2024年二手车评估师考试的常见问题及答案
- 六年级语文专题复习资料试题及答案
- 2024-2025学年湖北省随州市高一下学期2月联考生物试题及答案
- 关于食品检验的知识更新及质检员考试试题答案
- 2024年汽车美容师服务升级路径试题及答案
- 2024年计算机基础考试推理能力提升试题及答案
- 2024年统计学变量关系题目及答案
- 自愿放弃三校生申请书
- 《艺术概论》课件-第三章 艺术创作
- 火灾调查询问笔录模板范文
- 防洪防汛主题安全教育
- 外研版英语八年级下Module4-Unit1课件(共31张ppt)
- 左宗棠课件完整版
- 中药学电子版教材
- 市政道路电力、照明、通信管道工程施工方案方案
- 球的体积和表面积说课稿
- GB/T 30726-2014固体生物质燃料灰熔融性测定方法
- 可吸收丝素修复膜(CQZ1900597)
评论
0/150
提交评论