ASP.NET类库函数速查手册

附录

ASP.NET是.NET框架的一部分,所以它要遵循.NET的基本架构。本文介绍在ASP.NET编程中使用.NET框架提供的主要对象的属性、方法和事件,为编程提供一些参考资料,并提供对象的属性、方法、事件使用的最简短代码示例。注意不是每个对象的全部属性、方法和事件,只将是它常用的那些属性、方法和事件列出来。
.NET 框架具有两个主要组件:公共语言运行库和 .NET 框架类库。公共语言运行库是 .NET 框架的基础。.NET 框架的另一个主要组件是类库,它是面向对象的类的集合,由多个命名空间组成,每一个命名空间由一个或多个类组成。ASP.NET就包含在这些类库中,在编写 ASP.NET应用时通过引入命名空间使用这些类库中所定义的对象。
在ASP.NET中可以使用.NET框架的所有命名空间,而且还可以使用自己编写的命名空间,这样命名空间的数量就非常多,在ASP.NET页面中要使用这些命名空间中定义的对象就得引入这些命名空间,为了简化编写ASP.NET页面,下面的这些命名空间将自动引入到ASP.NET页面中,要使用其他命名空间中的对象就要使用引用语句明确引用命名空间。
ASP.NET页面中自动引入的命名空间:
(图1)

图1
图1

在ASP.NET页面中引用其他命名空间的语法是:
<%@ Import namespace="value" %>
在这里引入的命名空间可以是.NET框架中的命名空间,也可以是自己编写的命名空间。在每一行<%@...%>中只能引用一个命名空间,在页面中要引用多个命名空间就使用多行引用指令。如下面的引用指令使页面具有与数据库交互的能力,这些命名空间并不会自动引用:
<%@ Import namespace="System.Data"%>
<%@ Import namespace="System.Data.Common"%>
<%@ Import namespace="System.Data.SqlClient"%>
<%@ Import namespace="System.Data.SqlTypes"%>

一、 内部对象

内部对象,简单地说就是在页面中不需要引用命名空间就可以使用的对象,如大家非常熟悉的Application、Response、Request等,下面来看常用的几个对象的属性、事件和方法。在ASP.NET中,所有的对象都具有一个数据类型,而且对象的属性也有它自己的数据类型,在使用对象和它的属性、方法时一定要注意它的数据类型,否则在运行时会发生错误。这一点和ASP有所不同,在ASP中,所有的对象在使用时不需要考虑它的数据类型,使用它们的属性时也不用考虑属性的数据类型。

1. Application对象

Application叫应用程序对象,它是HttpApplicationState类型的对象。它用来保存一个ASP.NET应用程序的相关信息,如记录站点的访问量,站点的全局变量等,它还保存一个ASP.NET的所有文件、页、处理程序、模块和代码。下面就是它的属性、事件和方法列表:
(图2)

图2
图2

2. Request

Request对象是ASP.NET中很重要的一个内部对象,它使ASP.NET能够读取客户端在Web请求期间发送的HTTP值,也就是说能够检索客户发送到Web服务器的所有信息,如浏览器信息、用户填写的表格数据、Cookie等。Request对象的数据类型为HttpRequest,属于System.Web命名空间。下面是它的主要属性、方法和事件:
(图3)

图3
图3

3. Response

Response对象是用来向用户发送数据的,如把信息显示给用户,也就是在ASP.NET页面中显示数据。它的数据类型为HttpResponse,命名空间为System.Web。下面是它的主要属性、方法和事件:
(图4)

图4
图4

4. Server

Server对象用来提供处理Web请求属性和方法,可以使用它获取服务器的名称、对URL编解码、对HTML内容编解码及错误处理等操作。下面就是它的主要属性和方法的列表:
(图5)

图5
图5

5. Session

Session对象一般也叫做会话对象,它在用户登录网站时创建,在用户离开网站时结束,可以用来跟踪用户在网站的状态,每一个会话由一个会话ID(SessionID)标识。它可以管理会话状态、设置会话级别和管理用户生存期。它的数据类型为HttpSessionState,属于System.Web.SessionState命名空间。下面是它的主要属性和方法。
(图6)

图6
图6

6. Page

Page对象是Page类在运行时的实例,在ASP.NET中以.aspx 的文件存在,就是ASP.NET页面。这些文件在运行时编译为 Page 对象,并缓存在服务器内存中,在有另外的用户请求这个ASPX页面时就可以直接从内存中返回给用户,而不用重新编译,加快了执行的效率,提高了WEB站点的性能。Page对象同时也是一个容器,可以容纳所有的其他ASP.NET对象,包括Application、Response、Request等对象。
因为ASP.NET可以实现代码与页面分离,页面的扩展名为.aspx,代码的扩展名为.vb、.cs等,取决于你使用的编程脚本语言,这两个文件的文件名一般情况下是相同的。在.aspx文件中使用<% @Page...%>指令来指定与之相关联的代码文件。@Page指令包含了很多重要的内容,包括设置页面的一些属性。
下面介绍在设计时经常使用的属性和方法:
(图7)

图7
图7

二、 数据库操作对象

从严格意义上来说,数据库操作对象并不是ASP.NET的对象,它是属于.NET框架的对象,不但可以在ASP.NET中为ASP.NET提供数据库操作能力,还可以为.NET支持的所有编程语言提供数据库操作的能力,如VB.NET、C#、VC++.NET。数据库操作是ASP.NET中很重要的一项功能,在此就做一简单的介绍。
数据操作是通过一项叫做ADO.NET的技术来实现的,它主要通过Connection、Command、DataSet、DataReader、DataAdpater这五个对象和其他一些辅助的对象完成数据库的操作,这五个对象都分别有两种形式,一种是针对支持Oledb数据库的,另一种是针对SQL Server的。这些对象存在于System.Data、System.Data.Oledb、System.Data.SqlClient这几个命名空间中,命名空间System.Data.Oledb和System.Data.SqlClient的功能是一样的,只是针对的对象不同,System.Data.SqlClient是针对微软的SQL Server而开发的,要在ASP.NET中操作其他数据库,如Access、Foxpro、Oracle、Sybase等,甚至可以是文本文件,需要通过System.Data.Oledb提供的对象进行操作,当然SQL Server也可以通过它操作,只是性能上要打一点折扣。这些命名空间并不会自动引入ASP.NET页面中,需要在页面通过<% @Import ...%>命令引入。
在页面中要使用数据库功能,在页面中需要引入如下的命名空间:
对SQL Server:
<% @Import NameSpace="System.Data" %>
<% @Import NameSpace="System.Data.SqlClient" %>
对其他支持OLEDB的数据库:
<% @Import NameSpace="System.Data" %>
<% @Import NameSpace="System.Data.Oledb" %>

1. Connection对象

Connection对象用于连接到数据库和管理对数据库的事务。在对数据库执行任何操作前都要连接到数据库上,使用Connection对象可以建立与数据库的连接。Connection有两个,在使用前要建立,建立方法如下:
(1)SQL Server:
Public Sub CreateSQLConnection()
Dim myConnection As New SqlConnection()
myConnection.ConnectionString = "user id=sa;password=abcdefg; initial catalog=northwind; data source=mySQLServer; Connect Timeout=30"
myConnection.Open()
End Sub
(2)OLEDB:
Public Sub CreateOleDbConnection()
Dim myConnection As New OleDbConnection()
myConnection.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;Connect Timeout=30"
myConnection.Open()
End Sub
在建立你自己的连接时,只需要更改ConnectionString适合你的数据库就可以了。不论是SqlConnection还是OleDbConnection,在使用上没有区别的,它们的属性和方法是一致的,但有一些由数据库提供的特性是有一些差别,不过这一点并不在这里加以讨论。
(图8)

图8
图8

2. Command对象

Command对象是用来对数据库执行实际操作的对象,对数据库的所有操作都是通过这个对象来完成的,如检索、插入、删除、更新等操作都由它完成。Command对象只有在连接处于打开的状态下才能执行操作,连接关闭它也不能发挥作用。它同样有针对SQL Server和OLEDB的两种形式,功能是相似的,在这里不会指出它们的区别。Command可以执行SQL 语句或存储过程,它在使用的时候要和某个连接相关联在一起。Command对象在使用前要定义并初始化,最简单的初始化如下:
SQL Server:
Dim myCommand As New SqlCommand()
OLEDB:
Dim myCommand As New OledbCommand()
Command对象的属性和方法还是比较多的,涉及到数据库的操作都有相应的方法与之对应,同时也有相应的属性与之对应。它的主要属性和方法如下:
(图9)

图9
图9

3. DataReader对象

DataReader(数据读取器)对象是用来提供从数据库读取只进的行流,然后把数据再处理成它所读取的数据。DataReader在从数据库中读取数据时,与它相关联的连接只能为它服务,不能再做其他事了。它只能通过Command对象的的ExcuteReader方法创建,不能使用构造函数创建。同样有OledbDataReader和SqlDataReader两种类型的数据读取器,下面是它的主要属性和方法列表:
(图10)

图10
图10

4. DataSet对象

DataSet是 ADO.NET 结构的主要组件,它是从数据库中检索到的数据在内存中的缓存。DataSet 由一组 DataTable(数据表) 对象组成,你可使这些对象与 DataRelation(数据关系) 对象互相关联。你还可通过使用 UniqueConstraint(唯一约束) 和 ForeignKeyConstraint(外键约束) 对象在 DataSet 中实施数据完整性。DataSet是和DataAdpater对象结合在一起使用的,有DataSet就有DataAdpater。在这里提到的一些名词是数据库的内容,如果有什么不明白的地方,请参考数据库手册。DataSet是一个庞大的对象,位于System.Data命名空间中,包含的内容很多,这里只选择最紧要的加以说明。
(图11)

图11
图11

要掌握DataSet对象,还需要对DataTable、DataRow等在System.Data命名空间中的以Data开头的类加以熟悉,由于涉及到的内容比较多,请参考.NET框架文档。

5. DataAdpater对象

DataAdpater用来表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源,它是DataSet和数据库之间的一个桥梁,可以通过它与DataSet之间的配合来完成对数据库的操作,如检索、插入、删除、修改等。在命名空间System.Data.Oledb中有一个名为OledbDataAdpater的类,Systme.Data.SqlClient中有一个名为SqlDataAdpater的类,它们的功能基本上是相同的。下面是它的主要属性和方法列表:
(图12)

图12
图12

与数据库操作相关的对象还有一些,这里只介绍了其中比较重要的几个,请大家多参照相关书籍进行数据库的操作。

三、 邮件操作对象

在ASP.NET中,可以直接完成对邮件的操作,.NET框架为邮件操作提供了极为强大的支持。在.NET框架中提供了System.Web.Mail命名空间,在此命名空间中有一些类来完成邮件处理功能。.NET框架使用 CDOSYS(Windows 2000 的协作数据对象)消息组件来构造和发送消息的类。邮件消息可以通过内置在 Microsoft Windows 2000 中的 SMTP 邮件服务或任意的 SMTP 服务器来传送。System.Web.Mail命名空间中的类可以在ASP.NET或VB.NET、C#等.NET支持的语言编写的程序中使用。只要掌握在一种情况下的使用,可以很轻松地迁移到另外的情况下。
邮件操作通过System.Web.Mail命名空间中的三个类和三个枚举来进行,它们分别是:
(图13)

图13
图13

下面分别介绍它们的内容和使用方法:

1. MailAttachment

这个类中包含有邮件附件的相关属性。附件不是邮件中的必须内容,一个邮件中可以不包含附件,也可以包含多个附件。下面是它的一些属性:
(图14)

图14
图14

2. MailMessage

邮件的内容就由MailMessage对象表示,它的属性代表了邮件的每一个部分,如主题、收件人、发件人等邮件信息。它提供如下一些属性:
(图15)

图15
图15

一个完整的邮件基本上就是由这几个部分构成,有点像搭积木一样就可以把一个邮件的内容建立起来,在建立好邮件内容后,就可以使用下面的SmtpMail类提供的方法把这个邮件发送出去。

3. SmtpMail

SmtpMail就是用来发送邮件的了,通常我们的电子邮件都是通过邮件服务提供商的SMTP服务器进行的,SMTP的中文意思就是简单邮件传送协议。在安装了IIS 5.0的Windows 2000中就可以提供SMTP服务,也就是说发送电子邮件再也不需要使用邮件服务商的邮件服务器了,但注意一点就是接收电子邮件还得要邮件服务商帮忙。下面就来了解SmtpMail的功能:
(图16)

图16
图16