Web开发实用技术Web应用程序开发技术.ppt
《Web开发实用技术Web应用程序开发技术.ppt》由会员分享,可在线阅读,更多相关《Web开发实用技术Web应用程序开发技术.ppt(115页珍藏版)》请在三一办公上搜索。
1、第6章.NET Web应用程序开发技术,学习要点:,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内置服务器对象等的使用,介绍了Web.config文件的作用和
2、常用配置参数;重点介绍了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.NET数据库访问技术6.6 用VS2005创建和
3、访问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.3 服务器控件使用注意事项6.2.4 服务器端数据访问控件,6.4 ASP.NET内置服务器对象与Global.asax文件,6.4.1 ASP.NET内置服务器对象6.4.2 Global.asax 文件,6.5 A
4、DO.NET数据库访问技术,6.5.1 Connection对象6.5.2 Command对象6.5.3 DataReader对象6.5.4 Dataset对象与DataAdapter对象执行存储过程6.5.6 数据库事务处理跨数据库访问数据绑定技术,6.7 Web开发中的类库构建与访问,在Web开发中构建一个类库6.7.2 在Web开发中访问类库,6.8 Web控件开发实例,建立用户自定义控件工具箱控件的创建与使用,6.1.1 C#程序的基本结构,C#是由C和C+发展而来的面向对象和类型安全的编程语言。C#读作C Sharp,它和JAVA非常相近,其目标在于把Visual Basic的高生产
5、力和C+本身的能力结合起来。下面我们通过一个C#语言的简单例子来了解一些概念和用C#语言编写程序的方法。例6.1:using System;class Hello static void Main()Console.WriteLine(Hello,world);,下面对这个程序进行一些说明:1)C#程序的源代存储在扩展名为.cs的文件中;2)using System 引用名称空间。名称空间是在Microsoft.NET类库中提供的。使用“using”命令后,就可以无障碍地使用名称空间中的各种类型员。例如System名称空间下有一个IO名称空间,IO名称空间下又有一个File名称空间,现在我们要
6、使用该空间则在引用的时候可以写成,3)Main方法是类Hello中的一个成员,它有static的说明符,所以它是类Hello中的一个方法而不是此类中的实例。Main方法是应用程序的主入口点,也称作开始执行应用程序的方法。4)C#语言编译器CSC.EXE只是将程序员编写的代码编译成 MSIL(Microsoft Intemediate Language)中间语言。中间语言在安装时被运行库编译成本机代码或者首次运行时被实时编译。因此例6.1中的hello.exe只是一个由中间语言可执行文件头组成的可移植执行文件。下面我们从以下几个方面对C#语言进行详细介绍。,6.1.2 C#中的数据类型,C#支持
7、两种类型:数据类型和引用类型。数据类型和引用类型的区别在于,数据类型变量直接包含它们的数据,而引用类型变量是存储对于对象的引用。对于引用类型,有可能两个变量引用相同的对象,因而可能出现对一个变量的操作影响到其他变量所引用对象的情况。对于数据类型,每个变量都有它们自己对数据的拷贝,所以不太可能因为对一个进行操作而影响到其他变量。,6.1.3 C#变量声明及其初始化,我们结合表6-1来介绍数据类型变量声明及其初始化表6-1:,C#中有静态变量、引用参数、数组变量、实例变量、值参数、输出参数和局部变量7种变量类型。具体参照下表,在C#中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成
8、员更改参数的值,并保持该更改。若要通过引用传递参数,可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。注:在C#中,方法的参数传递有四种类型:传值(by value),传址(by reference),输出参数(by output),数组参数
9、(by array)。传值参数无需额外的修饰符,传址参数需要修饰符ref,输出参数需要修饰符out,数组参数需要修饰符params。传值参数在方法调用过 程中如果改变了参数的值,那么传入方法的参数在方法调用完成以后并不因此而改变,而是保留原来传入时的值。传址参数恰恰相反,如果方法调用过程改变了参数 的值,那么传入方法的参数在调用完成以后也随之改变。实际上从名称上我们可以清楚地看出两者的含义-传值参数传递的是调用参数的一份拷贝,而传址参数传 递的是调用参数的内存地址,该参数在方法内外指向的是同一个存储位置。,6.1.4 C#表达式,C#的表达式大致包含了算术表达式、赋值表达式、关系表达式和逻辑表
10、达式。(1)算术表达式 用算术操作符把数值连接在一起的、符合C#语法的表达式称为算术表达式。算术操作符包括+、-、*、/、%、+、-。,(2)赋值表达式 C#赋值操作符的运算规则下表所示:,(3)关系表达式=、!=、=等操作符称为关系操作符。用关系操作符把运算对象连接起来并符合C#语法的式子称为关系表达式。关系表达式要么返回true要么返回false。(4)逻辑表达式&(and)、|(or)和!(not)操作符称为逻辑操作符。用逻辑操作符把运算对象连接起来并符合C#语法的式子称为逻辑表达式。,6.1.5 C#控制语句,C#中控制语句主要包括分支和循环语句。分支语句有3种:1)三元运算符,例如:
11、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和continue语句决定是否跳出循环或继续执行循环。foreach语句可以遍历一个集合中的所有元素。,6.1.6 C#类声明 类是一种将数据成员、函数成员和嵌套类型等进行封装的数据结构。它在面向对象基础上引入了接口、属性、方法、事件等组件特性。其数据成员可以
12、是常量或域,函数成员可以是方法、属性、索引、事件、操作符或静态构造函数和析构函数。构造函数在创建对象时被自动调用,用来执行对象的初始化操作,其函数名总是与类名相同。析构函数在释放对象时被调用,用来删除对象前做一些清理工作。类的访问修饰符有五种可能形式,如下表所示:,public:对任何类和成员都公开,无限制访问;protected:仅仅对该类以及该类的派生类公开;private:仅仅对该类公开;internal:只能值包含该类的程序集中访问该类(只是单独的项目,而不是整个 解决方案);protected internal:只能在本类,派生类或者包含该类的程序集中访问.,下面简要介绍类成员的有关
13、概念。,(1)常数 一个常数是一个代表常数值的类成员即某个可以在编译时计算的数值。只 要没有循环从属关系,允许常数依赖同一程序中的其他常数。(2)域(字段)域是一个代表和某对象或类相关的变量的成员。域也叫成员变量,它表示存储位置,用来保存类的各种数据信息。域可以是静态的。只读域 可以用来避免错误的发生。对于一个只读域的赋值,只会在相同类中的部 分声明和构造函数中发生。(3)方法 方法是一个执行可以由对象或类完成的计算或行为的成员。方法有一个形 式参数列表(可能为空),一个返回数值(或void),并且可以是静态也 可以是非静态。静态方法要通过类来访问。非静态方法,也称为实例方 法,通过类的实例来
14、访问。方法可以被重复调用,这意味着只要有一个唯一的签名,多个方法可能有 相同的名称。方法的签名包括方法、数据、修饰符和它的形式参数的各种 类型的名称。方法的签名不包括return类型。,(4)属性 属性是提供对对象或类的特性进行访问的成员。属性的例子包括字符串的长度、字体的大小、窗口的焦点、用户的名字等等。属性是域的自然扩展。两者都是用相关类型成员命名,并且访问域和属性的语法是相同的。然而,与域不同,属性不指示存储位置。作为替代,属性有存取程序,它指定声明的执行来对它们进行读或写。属性是由属性声明定义的。属性声明的第一部分看起来和域声明相当相似。第二部分包括一个get存取程序和一个set存取程
15、序。(5)事件 事件是使得对象和类提供通知的成员。一个类通过提供事件声明来定义一个事件,这看起来与域和事件声明相当类似,但是有一个event关键字。这个声明的类型必须是delegate类型。(6)操作符 操作符是一个定义了可以用来使用在类的实例上的表达式。(7)索引器 索引器(indexer)是使得对象可以像数组一样被索引的成员。属性使类似域的访问变得可能,索引器使得类似数组的访问变得可能。索引器的声明类似于属性的声明,最大的不同在于索引器是无名的(由于this是被索引,所以用于声明中的名称是this)。class或struct只允许定义一个索引器,而且索引器总是包含单个索引参数。索引参数在一
16、对方括号中提供,用于指定要访问的元素。,(8)实例构造函数 实例构造函数是实现对类中实例进行初始化的行为的成员,是一种特殊的方法。它与类同名,能获取参数,但不能返回任何值。每个类都必须至少有一个构造函数。如果类中没有提供构造函数,那么编译器会自动提供一个没有参数的默认构造函数。(9)析构函数 析构函数(destructor)是实现破坏一个类的实例的行为的成员。析构函数完成对象被垃圾回收时需要执行的整理工作,在碎片收集时会被自动调用。在C#中,没有提供一个delete操作符,由运行库控制何时摧毁一个对象。析构函数的语法是首先写一个符号,然后跟上类名。析构函数不能有参数,不能带任何访问修饰符(比如
17、public),而且不能被调用。不能在一个struct中声明一个析构函数。(10)静态构造函数 静态构造函数是实现对一个类进行初始化的行为的成员。静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用。,(11)继承 继承(Inheritance)是面向对象的一个关键概念,它描述了类之间的一 种关系。假如多个不同的类具有大量通用的特性,而且这些类相互之间的关系非常清晰,那么使用继承就能避免大量重复的工作。类支持单继承,System.Object类是所有类的基类。所有类都是隐式地从System.Object类派生而来的。方法、属性和索引器都可以是虚拟(vir
18、tual)的,这意味着他们可以在派生的类中被覆盖(override)。可以通过使用abstract关键字来说明一个类是不完整的,只是用作其他类的基类。这样的类被称为抽象类。抽象类可以指定抽象函数非抽象派生类必须实现的成员。(12)接口 接口定义了一个连接。一个类或结构必须根据它的连接来实现接口。接口可以把方法、属性、索引器和事件作为成员。类和结构可以实现多个接口。因为通过外部指派接口成员实现了每个成员,所以用这种方法实现的成员称为外部接口成员。外部接口成员可以只是通过接口来调用。,(13)委派 委派(delegates)是指向一个方法的指针。委派与C+中的函数指针相似,与函数指针不同委派是类型
19、安全并且可靠的。委派是引用类型,它从公共基类:System.Delegate派生出来。一个委派实例压 缩了一个方法-可调用的实体。对于静态方法,一个可调用实体由类和类中的 静态方法组成。委派的一个有趣而且有用的特性是它不知道或不关心与它相关的对象的类型。对象所要做的所有事情是方法的签名和委派的签名相匹配,这使得委派很适合“匿名”调用,而这是个很有用的功能。定义和使用委派分为三步:声明、实例化和调用。用delegate声明语法来声明委派:delegate void SimpleDelegate();声明了一个名为SimpleDelegate的委派,它没有任何参数并且 返回类型为void。(14)
20、枚举 枚举类型的声明为一个符号常数相关的组定义了一个类型名称。枚举应用于“多选择”的场合,运行时间是由在编译时所知道的固定的选择数目所决定。因为使用枚举可以使代码更可读还可以自归档,所以使用枚举比使用整数常数要好。代码的自归档特点也使得开发工具可以帮助编写代码和进行一些其他的“设计者”行为。在本小节最后,我们给出一个范例,本店经营各类毛绒玩具礼品、公仔、靠垫、挂件等等,支持批发零售,欢迎来样看样定做生产。为了赚人气,本店所有商品批发价销售,超低秒杀!虽然我们的信誉不高,但我们会以诚信为本,为您提供质高价廉的商品和优质的服务!祝您购物愉快!欢迎大家来逛逛【扬州五亭龙玩具总动员】,个人小广告:,6
21、.2 常用ASP.NET控件的使用,ASP.NET控件主要分为以下八类,如表所示,服务器端标准控件,(1)Label和Literal控件 使用 Label 控件在网页的设置位置上显示文本,可以通过 Text 属 性自定义显示文本。Text属性中可以包含其他HTML元素。Literal 控件和Label控件类似,但它不可向文本中添加任何 HTML 元素。因此,Literal 控件不支持包括位置属性在内的任何样式属 性。转换成客户端HTML代码后,Literal则是什么标记都不带,但 Literal 控件允许指定是否对内容进行编码。通常情况下,当希望 文本和控件直接呈现在页面中而不使用任何附加标记
22、时,可使用 Literal 控件。(2)TextBox文本框控件 该控件用于获取用户输入的文本或显示文本。Text控件常用的 属性如下表所示。,(3)Image控件 该控件是用来插入图片的,常用的属性如下表所示。,(4)BUTTON、LINKBUTTON、IMAGEBUTTON控件 这三个控件分别表示普通按钮、超链接形式的按钮和图像按钮。每当用户单击按钮时,即调用CLICK事件处理程序。这三个控件常用的属性如下表所示。,CommandName、CommandArgument 使用范例,(5)HyperLink控件 该控件用于制作文本或图片超级链接。常用的属性下表所示。,(6)RadioButt
23、on单选按钮 该控件为用户提供由两个或多个互斥选项组成的选项集。当用户选择某单选按钮时,同一组中的其他单选按钮不能同时被选定。当单击RadionButton按钮时,其Checked属性设置为true,并且调用Click事件处理程序。当Checked属性的值更改时,将引发CheckedChanged事件。用户可以通过用Text属性设置控件内显示的文本。RadioButton控件常用的属性如下表所示。,(7)CheckBox复选框 该控件通常是成组使用来完成多重选项的目的,Checkbox控件常用的属性如表所示。,CheckBox控件 使用范例,(8)DropDownList控件 DropDown
24、List控件使用户可以从下拉列表框中进行选择。DropDownList控件常用属性及说明如下表所示。,DropDownList控件使用范例,(9)ListBox列表框 列表框通过显示多个选项供用户选择达到与用户对话的目的。ListBox控件常用的属性如下表所示。,(10)FileUpload文件上载控件 该控件可实现让用户在客户端选择一个文件,然后放到Web服务器的某个指定的文件夹下。FileUpload文件上载控件使用范例(11)Panel和Placeholder控件 Panel和Placeholder控件都属于容器控件。容器控件是指该控件可以动态容纳其他控件或HTML元素。要在运行时刻向W
25、eb页面中动态添加内容,利用容器控件即可实现动态添加内容到Web页中。Panel 和 Placeholder 控件(占位控件)转换成客户端HTML代码后,呈现为 div 元素。Placeholder Web 服务器控件可以将空的容器控件放置到页内,然后在运行时动态添加、删除子元素等。该控件只呈现其子元素,不具有自己的基于 HTML 的输出。Panel服务器控件最终在客户端呈现为div元素,但在Web开发时允许用户在该控件中添加其他控件,而且在运行过程中也允许动态添加控件。,6.2.2 服务器端验证控件 服务器端验证控件是ASP.NET控件中新产生的一类验证控件。当用户输入错误时,验证控件可以显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 开发 实用技术 应用程序 技术
链接地址:https://www.31ppt.com/p-6523332.html