net web应用程序开发技术

上传人:xzh****18 文档编号:56608182 上传时间:2018-10-14 格式:PPT 页数:111 大小:614.50KB
返回 下载 相关 举报
net web应用程序开发技术_第1页
第1页 / 共111页
net web应用程序开发技术_第2页
第2页 / 共111页
net web应用程序开发技术_第3页
第3页 / 共111页
net web应用程序开发技术_第4页
第4页 / 共111页
net web应用程序开发技术_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《net web应用程序开发技术》由会员分享,可在线阅读,更多相关《net web应用程序开发技术(111页珍藏版)》请在金锄头文库上搜索。

1、第6章 .NET Web应用程序开发技术,(学时数:10学时),学习要点:,1掌握C#语言编程技术 2了解ASP.NET的运行模式 3熟悉ASP.NET的服务器对象 4掌握ASP.NET基本控件的使用 5学会配置Web.config文件 6掌握ADO.NET数据库访问技术 7学会使用VS2005创建Web服务 8掌握进行.NET控件开发的技术,.NET Web应用程序开发技术,要学好ASP.NET的编程,必须掌握一种编程语言。本章将首先介绍C#语言,为读者编程提供参考(详细的C#编程方法请看专门书籍);然后介绍了主要Web服务器标准控件、服务器端验证控件和ASP.NET内置服务器对象等的使用,

2、介绍了Web.config文件的作用和常用配置参数;重点介绍了ADO.NET数据库访问技术以及执行存储过程、数据库的事务处理、跨数据库访问、数据绑定技术等内容;给出了创建和访问Web服务的实例;以案例方式对.NET中的代码重用实现技术,包括Web开发中的类库构建与访问、Web自定义控件和工具箱控件开发等进行了初步介绍;最后实例演示了如何在 ASP.NET中进行XML编程。,第6章 .NET Web应用程序开发技术,6.1 C#语言初步 6.2 常用ASP.NET控件的使用 6.3 Web.config文件的配置 6.4 ASP.NET内置服务器对象与Global.asax文件 6.5 ADO.

3、NET数据库访问技术 6.6 用VS2005创建和访问Web服务实例 6.7 Web开发中的类库构建与访问 6.8 Web控件开发实例 6.9 ASP.NET中XML编程基础,6.1 C#语言初步,6.1.1 C#程序的基本结构 6.1.2 C#中的数据类型 6.1.3 C#变量声明及其初始化 6.1.4 C#表达式 6.1.5 C#控制语句 6.1.6 C#类声明,6.2 常用ASP.NET控件的使用,6.2.1服务器端标准控件 6.2.2服务器端验证控件 6.2.3 服务器控件使用注意事项 6.2.4 服务器端数据访问控件,6.4 ASP.NET内置服务器对象与Global.asax文件,

4、6.4.1 ASP.NET内置服务器对象6.4.2 Global.asax 文件,6.5 ADO.NET数据库访问技术,6.5.1 Connection对象 6.5.2 Command对象 6.5.3 DataReader对象 6.5.4 Dataset对象与DataAdapter对象 6.5.5执行存储过程 6.5.6 数据库事务处理 6.5.7跨数据库访问 6.5.8数据绑定技术,6.7 Web开发中的类库构建与访问,6.7.1在Web开发中构建一个类库6.7.2 在Web开发中访问类库,6.8 Web控件开发实例,6.8.1建立用户自定义控件6.8.2工具箱控件的创建与使用,6.1.1

5、C#程序的基本结构,C#是由C和C+发展而来的面向对象和类型安全的编程语言。C#读作C Sharp,它和JAVA非常相近,其目标在于把Visual Basic的高生产力和C+本身的能力结合起来。下面我们通过一个C#语言的简单例子来了解一些概念和用C#语言编写程序的方法。例6.1:using System;class Hellostatic void Main() Console.WriteLine(“Hello, world“);,下面对这个程序进行一些说明:1) C#程序的源代存储在扩展名为.cs的文件中;2)using System 引用名称空间。名称空间是在Microsoft.NET类库

6、中提供的。使用“using”命令后, 就可以无障碍地使用名称空间中的各种类型员。例如System名称空间下有一个IO名称空间,IO名称空间下又有一个File名称空间,现在我们要使用该空间则在引用的时候可以写成 using System.IO.File,3)Main方法是类Hello中的一个成员,它有static的说明符,所以它是类Hello中的一个方法而不是此类中的实例。 Main方法是应用程序的主入口点,也称作开始执行应用程序的方法。4)C#语言编译器CSC.EXE只是将程序员编写的代码编译成 MSIL(Microsoft Intemediate Language)中间语言。中间语言在安装时

7、被运行库编译成本机代码或者首次运行时被实时编译。因此例6.1中的hello.exe只是一个由中间语言可执行文件头组成的可移植执行文件。下面我们从以下几个方面对C#语言进行详细介绍。,6.1.2 C#中的数据类型,C#支持两种类型:数据类型和引用类型。数据类型和引 用类型的区别在于,数据类型变量直接包含它们的数据,而 引用类型变量是存储对于对象的引用。对于引用类型,有可 能两个变量引用相同的对象,因而可能出现对一个变量的操 作影响到其它变量所引用对象的情况。对于数据类型,每个 变量都有它们自己对数据的拷贝,所以不太可能因为对一 个进行操作而影响到其它变量。,6.1.3 C#变量声明及其初始化,我

8、们结合表6-1来介绍数据类型变量声明及其初始化 表6-1:,C#中有静态变量、引用参数、数组变量、实例变量、值参数、输出参数和局部变量7种变量类型。 具体参照下表,6.1.4 C#表达式,C#的表达式大致包含了算术表达式、赋值表达式、关系表达式和逻辑表达式。(1)算术表达式用算术操作符把数值连接在一起的、符合C#语法的表达式称为算术表达式。算术操作符包括+、-、*、/、%、+、-。,(2)赋值表达式C#赋值操作符的运算规则下表所示:,(3)关系表达式 =、!=、=等操作符称为关系操作符。用关系操作符把运算对象连接起来并符合C#语法的式子称为关系表达式。关系表达式要么返回true要么返回fals

9、e。(4)逻辑表达式&(and)、|(or)和!(not)操作符称为逻辑操作符。用逻辑操作符把运算对象连接起来并符合C#语法的式子称为逻辑表达式。,6.1.5 C#控制语句,C#中控制语句主要包括分支和循环语句。 分支语句有3种:1)三元运算符,例如: a=(b5)?100:10表示b5时a=100,否则a=10;2)if语句;3)switch语句。 循环语句有4种:1)已知步长的for语句;2)foreach语句;3)while语句; 4)do while语句。它们的语法结构如表6-4所示。其中switch语句可一次将测试变量与多个值比较,而if仅仅测试一个条件。对于循环语句可用break和

10、continue语句决定是否跳出循环或继续执行循环。foreach语句可以遍历一个集合中的所有元素。,6.1.6 C#类声明类是一种将数据成员、函数成员和嵌套类型等进行封装的数据结构。它在面向对象基础上引入了接口、属性、方法、事件等组件特性。其数据成员可以是常量或域,函数成员可以是方法、属性、索引、事件、操作符或静态构造函数和析构函数。构造函数在创建对象时被自动调用,用来执行对象的初始化操作,其函数名总是与类名相同。析构函数在释放对象时被调用,用来删除对象前做一些清理工作。类的访问修饰符有五种可能形式,如下表所示:,下面简要介绍类成员的有关概念。,(1)常数一个常数是一个代表常数值的类成员即某

11、个可以在编译时计算的数值。只要没有循环从属关系,允许常数依赖同一程序中的其它常数。 (2)域域是一个代表和某对象或类相关的变量的成员。域可以是静态的。只读域可以用来避免错误的发生。对于一个只读域的赋值,只会在相同类中的部分声明和构造函数中发生。 (3)方法方法是一个执行可以由对象或类完成的计算或行为的成员。方法有一个形式参数列表(可能为空),一个返回数值(或void),并且可以是静态也可以是非静态。静态方法要通过类来访问。非静态方法,也称为实例方法,通过类的实例来访问。方法可以被重复调用,这意味着只要有一个唯一的签名,多个方法可能有相同的名称。方法的签名包括方法、数据、修饰符和它的形式参数的各

12、种类型的名称。方法的签名不包括return类型。,(4)属性属性是提供对对象或类的特性进行访问的成员。属性的例子包括字符串的长度、字体的大小、窗口的焦点、用户的名字等等。属性是域的自然扩展。两者都是用相关类型成员命名,并且访问域和属性的语法是相同的。然而,与域不同,属性不指示存储位置。作为替代,属性有存取程序,它指定声明的执行来对它们进行读或写。 属性是由属性声明定义的。属性声明的第一部分看起来和域声明相当相似。第二部分包括一个get存取程序和一个set存取程序。 (5) 事件事件是使得对象和类提供通知的成员。一个类通过提供事件声明来定义一个事件,这看起来与域和事件声明相当类似,但是有一个ev

13、ent关键字。这个声明的类型必须是delegate类型。 (6) 操作符操作符是一个定义了可以用来使用在类的实例上的表达式。 (7) 索引器索引器(indexer)是使得对象可以像数组一样被索引的成员。属性使类似域的访问变得可能,索引器使得类似数组的访问变得可能。索引器的声明类似于属性的声明,最大的不同在于索引器是无名的(由于this是被索引,所以用于声明中的名称是this)。class或struct只允许定义一个索引器,而且索引器总是包含单个索引参数。索引参数在一对方括号中提供,用于指定要访问的元素。,(8) 实例构造函数实例构造函数是实现对类中实例进行初始化的行为的成员,是一种特殊的方法。

14、它与类同名,能获取参数,但不能返回任何值。每个类都必须至少有一个构造函数。如果类中没有提供构造函数,那么编译器会自动提供一个没有参数的默认构造函数。(9)析构函数析构函数(destructor)是实现破坏一个类的实例的行为的成员。析构函数完成对象被垃圾回收时需要执行的整理工作,在碎片收集时会被自动调用。在C#中,没有提供一个delete操作符,由运行库控制何时摧毁一个对象。析构函数的语法是首先写一个符号,然后跟上类名。析构函数不能有参数,不能带任何访问修饰符(比如public),而且不能被调用。不能在一个struct中声明一个析构函数。(10)静态构造函数静态构造函数是实现对一个类进行初始化的

15、行为的成员。静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用。,(11)继承继承(Inheritance)是面向对象的一个关键概念,它描述了类之间的一 种关系。假如多个不同的类具有大量通用的特性,而且这些类相互之间的关系非常清晰,那么使用继承就能避免大量重复的工作。类支持单继承,System.Object类是所有类的基类。所有类都是隐式地从System.Object类派生而来的。方法、属性和索引器都可以是虚拟(virtual)的,这意味着他们可以在派生的类中被覆盖(override)。可以通过使用abstract关键字来说明一个类是不完整的,只是用作

16、其它类的基类。这样的类被称为抽象类。抽象类可以指定抽象函数非抽象派生类必须实现的成员。(12)接口接口定义了一个连接。一个类或结构必须根据它的连接来实现接口。接口可以把方法、属性、索引器和事件作为成员。类和结构可以实现多个接口。因为通过外部指派接口成员实现了每个成员,所以用这种方法实现的成员称为外部接口成员。外部接口成员可以只是通过接口来调用。,(13)委派委派(delegates)是指向一个方法的指针。委派与C+中的函数指针相似,与函数指针不同委派是类型安全并且可靠的。委派是引用类型,它从公共基类:System.Delegate派生出来。一个委派实例压 缩了一个方法-可调用的实体。对于静态方

17、法,一个可调用实体由类和类中的 静态方法组成。委派的一个有趣而且有用的特性是它不知道或不关心与它相关的对象的类型。对象所要做的所有事情是方法的签名和委派的签名相匹配,这使得委派很适合“匿名”调用,而这是个很有用的功能。 定义和使用委派分为三步:声明、实例化和调用。用delegate声明语法来声明委派: delegate void SimpleDelegate();声明了一个名为SimpleDelegate的委派,它没有任何参数并且 返回类型为void。(14)枚举枚举类型的声明为一个符号常数相关的组定义了一个类型名称。枚举应用于“多选择”的场合,运行时间是由在编译时所知道的固定的选择数目所决定。因为使用枚举可以使代码更可读还可以自归档,所以使用枚举比使用整数常数要好。代码的自归档特点也使得开发工具可以帮助编写代码和进行一些其它的“设计者”行为。在本小节最后,我们给出一个范例,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 多媒体应用

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号