ASP.NET程序设计(C#版)pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:ASP.NET程序设计(C#版)pdf/doc/txt格式电子书下载
推荐语:
作者:青岛东合信息技术有限公司编
出版社:电子工业出版社
出版时间:2011-05-01
书籍编号:30466570
ISBN:9787121134708
正文语种:中文
字数:83665
版次:1
所属分类:教材教辅-大学
版权信息
书名:ASP.NET程序设计(C#版)
作者:青岛东合信息技术有限公司
ISBN:9787121134708
版权所有 · 侵权必究
编委会
主 编:邵峰晶
副主编:韩敬海 于忠清
特约策划人:吕蕾
编 委:曹宝香
王成端
高仲合
吴海峰
前言
随着IT产业的迅猛发展,企业对应用型人才的需求越来越大。“全面贴近企业需求,无缝打造专业实用人才”是目前高校计算机专业教育的革新方向。
该系列教材是面向高等院校软件专业方向的标准化教材。教材研发充分结合软件企业的用人需求,经过了充分的调研和论证,并充分参照多所高校一线专家的意见,具有系统性、实用性等特点。旨在使读者在系统掌握软件开发知识的同时,着重培养其综合应用能力和解决问题的能力。
该系列教材具有如下几个特色。
1.以应用型人才为导向来培养学生
强调实践:本系列教材以应用型软件及外包人才为培养目标,在原有体制教育的基础上对课程进行了改革,强化“应用型”技术的学习。使学生在经过系统、完整的学习后能够达到如下要求:
■ 具备软件开发工作所需的理论知识和操作技能,能熟练进行编码工作,并掌握软件开发过程的规范;
■ 具备一定的项目经验,包括代码的调试、文档编写、软件测试等内容;
■ 相当于一年的软件开发经验。
2.以实用技能为核心来组织教学
二八原则:遵循企业生产过程中的“二八原则”,即企业生产过程中 80%的时间在使用20%的核心技术,强调核心教学,即学生在学校用80%的学习时间来掌握企业中所用到的核心技术,从而保证对企业常用技术的掌握。教材内容精而专,同时配以知识拓展和拓展练习,以满足不同层次的教学和学习需求。
3.以新颖的教材架构来引导学习
自成体系:本系列教材采用的教材架构打破了传统的以知识为标准编写教材的方法,采用“全真案例”和“任务驱动”的组织模式。
■ 理论篇:即最小教学集,包含了“二八原则”中提到的常用技术,以任务驱动引导知识点的学习,所选任务不但典型、实用,而且具有很强的趣味性和可操作性,引导学生循序渐进地理解和掌握这些知识和技能,培养学生的逻辑思维能力,掌握利用开发语言进行程序设计的必备知识和技巧。
■ 实践篇:多点于一线,以完整的具体案例贯穿始终,力求使学生在动手实践的过程中,加深课程内容的理解,培养学生独立思考和解决问题的能力,并配备相关知识的拓展讲解和拓展练习,拓宽学生的知识面。
■ 结构灵活:本系列教材在内容设置上借鉴了软件开发中“低耦合高内聚”的设计理念,组织架构上遵循软件开发中的MVC理念,即在课程的实施过程中各高校可根据自身的实际情况(课程配比、时间安排、学生水平、教学情况等),在保证最小教学集的前提下可对整个课程体系进行横向(章节内容)、纵向(章节)裁剪。
4.提供全面的教辅产品来辅助教学实施
为充分体现“实境耦合”的教学模式,方便教学实施,另外还开发了可配套使用的项目实训教材和全套教辅产品,可供各院校选购:
项目篇:多线于一面,以辅助教材的形式,提供适应当前课程(及先行课程)的综合项目,遵循软件开发过程,进行讲解、分析、设计、指导,注重工作过程的系统性,培养学生解决实际问题的能力,是实施“实境”教学的关键环节。
立体配套:为适应教学模式和教学方法的改革,本系列教材提供完备的教辅产品,主要包括教学指导、实验指导、电子课件、习题集、实践案例等内容,并配以相应的网络教学资源。教学实施方面,提供全方位的解决方案(课程体系解决方案、实训解决方案、教师培训解决方案和就业指导解决方案等),以适应软件开发教学过程的特殊性。
本系列教材由青岛东合信息技术有限公司和青岛海尔软件有限公司共同研制,历时两年,参与编著的有韩敬海、丁春强、赵克玲、高峰、张幼鹏、张旭平、孙更新、宾晟、胡芳、侯天超、邵峰晶、于忠清、张磊、曹宝香、崔文善、王成端等。本书的特约策划人为吕蕾女士。参与本书编写工作的还有:青岛农业大学、潍坊学院、青岛大学、山东科技大学、曲阜师范大学、济宁学院、中国海洋大学、济宁医学院等高校,期间得到了各合作院校专家及一线教师的大力支持和协作。在此技术丛书出版之际要特别感谢给予我们开发团队大力支持和帮助的领导及同事,感谢合作院校的师生给予我们的支持和鼓励,更要感谢开发团队每一位成员所付出的艰辛劳动。如有意见或建议,请发邮件至dh_iTeacher@126.com。
iTeacher@教研组
2011年6月
理论篇
第1章 ASP.NET概述
本章目标
■ 了解.NET框架的结构
■ 理解CLR、JIT、CTS、MSIL概念
■ 掌握C#程序在.NET框架上执行的过程
■ 了解C#语言的特点以及与.NET框架的联系
■ 了解ASP.NET及其控件种类
■ 了解.NET命名空间
■ 掌握C#程序的结构
学习导航
任务描述
【描述1.D.1】
使用C#编写HelloWorld控制台应用程序。
1.1.NET框架
2000年6月,微软公司推出了“Microsoft.NET下一代互联网软件和服务战略”,引起IT行业的广泛关注。2000年9月,微软公司在旧金山发布了Enterprise 2000。2000年11月,微软发布了Visual Studio.NET软件,并展示了其.NET发展战略的框架体系和开发工具的相关特性,全面加速了微软以.NET技术进军市场的步伐。截止到本书出版时,.NET框架已经经历了.NET Framework 1.0、.NET Framework 2.0和.NET Framework 3.5三个版本。
1.1.1.NET框架结构
微软.NET 平台的核心是一系列新的集合,统称为.NET Framework,它代表了一个可以作为平台支持下一代Internet的可编程集合环境。.NET框架集提供了一个可快速开发各种应用程序的平台,其目的就是让用户在任何地方、任何时间,利用任何设备都能访问他们所需要的信息、文件和程序。例如,使用.NET框架可以开发Web应用程序、Windows窗体应用程序,以及类库等。
.NET框架体系结构由以下四个主要部分组成:
■ 公共语言运行时(Common Language Runtime,CLR)。
■ 基础类库(Base Class Library)。
■ ADO.NET。
■ 活动服务器页面(ASP.NET)。
其层次结构如图1-1所示。
图1-1.NET框架层次结构
1.公共语言运行时(CLR)
公共语言运行时是.NET 框架应用程序的执行引擎。在程序运行过程中,CLR 负责管理内存分配、启动或删除线程和进程、实施安全性策略,同时满足当前组件对其他组件的需求。在开发阶段,公共语言运行时实现了高度的自动化,使开发人员的工作变得非常轻松,尤其是映射功能显著减少了开发人员将业务逻辑程序转化成可复用组件的代码编写量。
2.基础类库
.NET框架为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的类库集(API)。在.NET平台支持的各种语言中都可以使用这个类库。
3.ADO.NET
ADO.NET起源于ADO(ActiveX Data Objects),它是一组用于和数据源交互的面向对象的类库。ADO.NET实现了ADO无法满足的三个重要需求:提供了断开的数据访问模型,这对Web环境至关重要;提供了与XML的紧密集成;还提供了与.NET框架的无缝集成。4.活动服务器页面(ASP.NET)
ASP.NET提供了Web应用程序模型,该模型由一组控件和一个基本结构组成。ASP.NET使Web应用程序的构建变得非常容易,开发人员可以直接使用ASP.NET控件集,ASP.NET还提供了一些基本结构服务(诸如会话状态管理和进程重启服务),这些服务大大减少了开发人员所要编写的代码量,并使应用程序的可靠性得到大幅度提高。
1.1.2.NET公共语言运行库
公共语言运行库包括管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。使用基于公共语言运行库的编译器开发的代码称为托管代码。托管代码具有许多优点,如跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持等。这些功能是在公共语言运行库上运行的托管代码所固有的。
若要使公共语言运行库能够向托管代码提供服务,语言编译器必须发出对代码中的类型、成员和引用进行描述的元数据。元数据与代码一起存储,运行库使用元数据查找和加载类,在内存中对实例进行布局、解析方法调用、生成本机代码、强制安全性以及设置运行时上下文边界。
公共语言运行时(CLR)包括两部分:公共语言规范(Common Language Specification,CLS)和公共类型规范(Common Type Sytem,CTS)。运行库通过公共类型规范(CTS)的严格类型验证和代码验证基础结构来加强代码健壮性。CTS确保所有托管代码都是可以自我描述的。各种Microsoft和第三方语言编译器都可以生成符合CTS的托管代码,这意味着托管代码可在严格实施类型保护和类型安全的同时使用其他托管类型和实例。
1.公共类型规范(CTS)
CTS定义了可以在中间语言(IL)中使用的预定义数据类型,所有面向.NET Framework的语言都可以生成最终基于这些类型的编译代码。通用类型系统不仅指定了基本数据类型,还定义了一个内容丰富的类型层次结构,其中包含设计合理的位置,在这些位置上,代码允许定义它自己的类型。
2.公共语言规范(CLS)
公共语言规范(CLS)和通用类型系统一起确保语言的互操作性。CLS是一个最低标准集,所有面向.NET的编译器都必须支持它。
1.1.3 MSIL和JIT
在编译使用.NET框架创建的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为微软中间语言(Microsoft Intermediate Language,MSIL)代码,这些MSIL代码不专用于任何一种操作系统,也不专用于任何一种语言,有些类似于Java的字节码,C#、VB.NET等.NET平台语言都编译成这种微软中间语言代码。
因为代码在编译阶段没有直接编译成本机代码,所以在执行应用程序时,必须完成更多的工作,这就是Just In Time(JIT)编译器的任务。
JIT 会把 MSIL 再编译为专用于某种操作系统和目标机器结构的本机代码,只有这样,操作系统才能执行应用程序。这里编译器的名称“Just In Time”反映了MSIL仅在需要时才被编译的特性。
应用程序在.NET Framework上执行的顺序如图1-2所示。
图1-2 应用程序在.NET Framework框架中的执行顺序
1.1.4 C#与.NET框架
.NET是一种开发框架,其提供了一组类库供各种应用程序调用。而应用程序使用的语言可以是 C#,也可以是 VB.NET 或者其他.NET 所支持的语言。通过.NET 还可以轻松转换VB.NET程序与C#程序,这样在一个项目中,可以一部分使用VB.NET开发,而另一部分使用C#开发,最后通过.NET框架整合即可。
.NET的框架结构图如图1-3所示,其中可以看到C#在.NET框架中的具体位置。
图1-3 C#在.NET框架中的位置
C#就其本身而言只是一种语言,尽管它可用于生成面向.NET 环境的代码,但它本身并不是.NET 框架的一部分。.NET 支持的一些特性,C#并不支持;而 C#语言支持的另一些特性,.NET却不支持,例如,运算符重载。
1.1.5 C#语言的特点
1.简单
C#语言最大的特点就是简单易学。在C#中,摒弃了指针功能,使程序开发简单、安全。默认情况下,开发人员编写的代码在指定的管理代码下工作。在管理代码中,限制了开发人员编写的代码直接存取内存中的数据,从而提高了程序的安全性。
2.现代
为了满足对现代金融行业和其他行业的需求,在C#语言中还添加了金融数据类型。这种金融数据类型是一种新的十进制数据类型,专门用于金融方面的计算。根据程序设计的需求,可以很容易地创建出新的数据类型,而不像传统开发语言那样繁杂。
3.面向对象
C#语言是一种面向对象的语言,支持所有关键的面向对象的概念,如封装、继承和多态性等功能。被C#语言封装的这些特性,使程序开发更加简单、快捷。另外C#语言延续了C++、Java语言中的权限保护机制,提供了private、protected、public和internal四种访问权限,从而提高了程序开发的安全性。
4.版本控制
在C++开发过程中,开发人员在升级程序的版本时经常会造成动态链接库(Dynamic Link Library,DLL)链接错误,从而使整个开发程序陷入困境。这些在业内被称为“DLL地狱”的动态链接文件,在 C#语言中得到了改善。在每次程序发布的过程中,C#语言开发平台都会动态更正这些DLL链接库,从而使程序员控制开发版本更为容易。
5.兼容
C#并没有存在于一个封闭的世界中,它允许使用最先进的 NGWS 的通用语言规定(Common Language Specification,CLS)访问不同的API。CLS规定了一个标准,规范化了符合这种标准的语言之间的操作。为了加强 CLS 的编译功能,C#编译器检测所有的公共出口,并在编译失败时列出明确的错误信息。
6.灵活
在使用C#语言时,某些特殊情况下可能需要使用指针、结构等特性来访问内存中的数据。这时可以在类中定义一些非安全的类型,从而大大提高程序的灵活性。
另外在ASP.NET 3.5中用到的C#还提供了一些新的功能,如隐式类型本地变量、对象和集合初始值设定项、匿名类型、宽松委托等语法。
注意 动态链接库是指包含可由多个程序使用的代码和数据的库,动态链接库不是可执行文件。ASP.NET的页面最终也会被编译成动态链接库。
1.1.6.NET框架应用程序种类
.NET框架是一个综合的开发框架,开发人员可以利用它创建不同类型的应用程序。
首先打开Visual Studio 2008(VS2008),然后选择“文件新建
项目”菜单,会打开如图 1-4 所示的“新建项目”窗口,在左侧的“项目类型”窗格中可以看到,使用 VS2008可以创建Windows、Web、智能设备等应用程序。
图1-4“新建项目”窗口
1.类库
在ASP.NET框架中一个比较重要的功能是创建类库。可以把公用代码封装为类库,供多个应用程序调用,当需要调整代码功能的时候,只需要到类库中做指定的修改,而无须修改调用类库的应用程序,这大大地提高了编程效率和代码的重用性。
2.ASP.NET Web应用程序
ASP.NET Web应用程序主要用于开发动态网站,用户可以使用浏览器进行访问,是B/S模式的应用程序。IIS(Internet Information Services)通过aspnet_isapi.dll(ASP.NET的进程模型)对可发布的ASP.NET文件的所有请求提供服务,而ASP.NET引擎则会执行服务器端代码并生成HTML发送到客户端。
注意 有关IIS的安装及配置参见实践篇。
ASP.NET Web应用程序在Web服务器上的虚拟目录及其子目录中有很多可调用的文件和可执行代码,其类型如下:
■ 网页(.html文件)。
■ Web表单页面(.aspx文件)。
■ Web表单用户控件(.ascx文件)。
■ XML Web服务(.asmx文件)。
■ HTTP处理程序。
■ HTTP模块和其他文件(如图像和配置文件)。
3.控制台应用程序
控制台应用程序是指通过命令行运行的控制台应用,此种应用程序通过 DOS 环境下的命令行与用户进行交互。计算机用户经常把控制台应用程序作为一种“遗物”来看待,但是它们仍然是系统管理员非常喜欢的一种形式,而且还是高级用户的“工具箱”之一。另外,当开发者需要作大量重复的脚本操作,当然还有可能是更复杂的操作时,都会用到这种控制台应用程序。
4.Windows窗体应用程序
Windows窗体应用程序是指运行于Windows操作系统之上的窗口式应用程序。.NET框架封装了Win32 API,提供一个高效的、面向对象的、可扩展的类集,使Windows应用程序开发更加简单、效率更高。
1.2 ASP.NET技术
1.2.1 ASP.NET特点
Microsoft.NET Framework 3.5彻底地改进了ASP.NET,使ASP.NET成为增强的Web应用技术。开发者能够发现,实现Web站点和页面所需要的代码量越来越少了,从而体会到前所未有的轻松。ASP.NET具有以下特点。
■ 生产力:通过现有的或新引入的 ASP.NET 服务器控件,开发者创建 ASP.NET Web页面和应用程序的过程将变得更加简单高效。包括成员关系、个性化以及外观主题在内的新特征可以提供系统级别的功能服务,通常实现这些服务需要开发大量代码。核心开发方案、特殊数据等被封装到了新的数据控制、非编码绑定以及智能数据显示控件中。
■ 灵活性和可扩展性:ASP.NET 大部分特征都可扩展,开发者可以将自定义特征合并到应用程序中去。
■ 性能:通过预编译、可配置的高速缓存以及SQL语句高速缓存等特征实现Web应用程序的优化。
■ 安全:在Web应用程序中添加验证和许可更加容易。
■ 宿主:简化宿主环境的管理,并且为宿主程序实时添加内容创造更多的机会。
■ 完整性:新旧特征能够一起协调合作,使开发者能够创建终极方案。
1.2.2 ASP.NET的命名空间
在ASP.NET中,.NET Framework提供了丰富的基础类,为了能在程序中引用这些基础类,必须先引用其对应的命名空间,ASP.NET中各个命名空间及其作用如表1-1所示。
表1-1 ASP.NET中各命名空间及作用

1.2.3 ASP.NET控件种类
ASP.NET 3.5内部提供的服务器控件大致可分为三种类型:
■ HTML服务器控件
■ ASP.NET标准服务器控件
■ 自定义服务器控件
1.HTML服务器控件
HTML 服务器控件是由普通 HTML 控件转换而来,其呈现的输出基本上与普通 HTML控件一致。在转化时,只需做两步操作即可:
■ 第一步在普通HTML控件特性中添加“runat="server"”属性;
■ 第二步设置其ID属性,当普通的HTML控件转化为HTML服务器控件后,即可通过编程来控制它们。
在创建HTML服务器控件时,直接从“工具箱”中拖动选中的HTML控件,放置在页面中,然后在属性中加入“runat="server"”即可。下面是一个普通的HTML按钮控件,代码如下。
上述代码中的按钮控件是一个典型的HTML控件,可以看出,这个控件的代码与普通的HTML控件相比,增加了ID属性和“runat="server"”属性。
2.ASP.NET标准服务器控件
ASP.NET标准服务器控件是在ASP.NET 3.5框架中预先定义的,它们与HTML控件相比,具有丰富的功能,其操作数据和呈现数据的功能也变得非常强大。例如,在绑定数据库中的数据时,使用一个GridView控件,即可实现数据的呈现、布局、修改、删除等操作,这样大大简化了页面代码的复杂性。
在ASP.NET 3.5中主要提供了6种类型的标准服务器控件,即标准控件、数据控件、验证控件、站点导航控件、登录控件和WebParts控件,另外还提供了一些AJAX控件和HTML控件。ASP.NET 3.5中的标准服务器控件主要有以下功能:
■ 标准控件:ASP.NET 3.5将传统的Web窗体控件做了一些标准化的定义,从而使开发更加简单。
■ 数据控件:分为数据源控件和数据绑定控件。数据源控件主要实现数据源连接、SQL语句/存储过程执行和返回数据集合等功能;数据绑定控件主要实现数据显示、提供编辑、删除等操作的相关用户界面等。
■ 验证控件:验证用户输入的信息是否符合指定的规则。
■ 站点导航控件:与传统的站点导航相比,大大简化了工作量,同时可以绑定站点数据文件,使站点导航操作更加简单易行。
■ 登录控件:可以快速实现用户登录及相关功能。
■ WebParts控件:创建具备高度个性化特征的Web应用程序。
ASP.NET标准服务器控件被自动封装在VS2008开发环境中,在Web开发中占有重要作用。
3.自定义服务器控件
自定义服务器控件由开发人员自行设计开发,开发人员可自定义UI、功能、属性、方法、事件等特征,这是自定义服务器控件与ASP.NET标准服务器控件的本质区别。常见的自定义服务器控件分为4种:复合控件、验证控件、模板控件和数据绑定控件。
1.3 第一个C#程序
1.3.1 C#程序结构
使用C#语言来编写应用程序时,每个文件可以包含零个或零个以上的命名空间。一个命名空间除了可以包含其他命名空间外,还可以包含类、结构、接口、枚举、委托等类型。C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。在程序中可以声明类型,类型中可以包含成员,而最典型的类型的使用就是类和接口。成员可以包含字段、方法、属性和事件。
【代码1-1】C#程序的结构
上述代码是一个基本的 C#语言程序的结构,在 C#程序代码中首先需要使用 using 关键字引入ASP.NET框架集中封装的类文件;接下来使用namespace关键字,声明C#编写的类文件所在的命名空间(此项为可选);再使用class关键字声明类文件;在成员方法中使用已定义的类声明对象。在后面的学习中会不断深入讲解这些内容。
1.3.2 C#代码注释
C#程序代码中的注释有以下两种:
■ 单行注释。
■ 多行注释。
单行注释是使用“//”注释某行代码,例如:
多行注释是使用“/*……*/”注释多行代码,例如:
除了以上两种注释外,在Visual Studio中,经常会看到“///”注释,用于注释类或方法,可以对类或方法的功能进行说明。例如:
1.3.3 HelloWorld示例
下述代码用于实现任务【描述 1.D.1】,使用 C#编写 HelloWorld 程序控制。在 VS2008中,选择C#语言,创建一个名为HelloWorld的控制台应用程序。
【描述1.D.1】HelloWorld.cs
上述代码中,Main()方法是主函数(整个程序的入口),其参数是字符串数组。Console是控制台类,它提供了一组操纵控制台对象的方法,其中WriteLine()方法用于在控制台输出一行信息。
按下“Ctrl+F5”组合键,调试运行上述程序代码,然后在非Debug环境下重新运行该程序。图1-5显示了程序执行后控制台的输出结果。
图1-5 HelloWorld运行结果
注意 按下“F5”键,程序将调试运行,运行结束后,控制台窗口会自动关闭。按下“Ctrl+F5”组合键,程序将直接运行,运行结束后控制台窗口不会关闭,按任意键后可以关闭。
小结
通过对本章的学习,读者应该能够掌握:
■.NET Framework主要由四个重要组件构成:公共语言运行时(CLR)、.NET基础类库、ADO.NET和ASP.NET。
■ 公共类型规范(CTS),定义和管理所有类型所遵循的规则,且无须考虑源语言。
■ C#语言具有简单、现代、面向对象、版本控制、兼容、灵活等特点。
■ C#源程序需要经过二次编译,才能成为可以运行的本机代码。
■ ASP.NET是.NET框架提供的一个统一的Web开发模型。
■ ASP.NET的控件可分为三种类型:HTML服务器控件、ASP.NET标准服务器控件和自定义服务器控件。
练习
1.以下哪一项不是.NET框架体系结构的组成部分__________。
A.公共语言运行时(Common Language Runtime,CLR)
B.基础类库(Base Class Library)
C.ADO
D.活动服务器页面(ASP.NET)
2.经过几次编译,C#源代码文件可以被编译为本地CPU指令__________。
A.1次B.2次C.3次D.4次
3.ASP.NET 3.5内部提供的服务器控件大致可分为三种类型,它们分别是___________、
__________________和____________________。
4.ASP.NET 3.5 中的标准服务器控件主要包括_________、_________、_________、_________、_________和_________。
5.简述C#语言和ASP.NET的特点。
6.简述.NET框架的组成部分,及各个部分所代表的含义。
7.简述C#与.NET框架之间的关系。
8.简述.NET框架应用程序种类。
第2章 C#语言基础
本章目标
■ 掌握C#
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询