




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章ASP.NET对象编程
本章主要讲解了ASP.NET中几个数据持久性对象和数据访问对象的使用。在本章的后半部分列举了投票系统实例,以重点说明如何使用相关类访问Access数据库,并使用数据持久性对象保存数据。投票功能实现流程图如图5-1所示。
图5-1投票功能实现流程图
ASP.NET的数据持久性对象5.1
ASP.NET的数据访问对象5.2访问Access数据库5.3一个简单的投票系统5.4防止重复投票技术
5.55.1ASP.NET的数据持久性对象
ASP.NET应用程序以页面为基础。在开发过程中,很多情况下会遇到页面之间数据共享的问题。在ASP.NET中已经提供了一些可以持久化页面间数据的对象,这些对象包括Session、Cookies、Application以及ViewState等。本章将具体介绍这些对象和使用方法。
5.1.1Session对象简介 Session是ASP和ASP.NET中用于保持状态的基于Web服务器的方法。Session允许通过将对象存储在Web服务器的内存中在整个用户会话过程中保持任何对象的持久性。Session通常用于执行以下操作。
(1)
存储需要在整个用户会话过程中保持其状态的信息
(2)存储只需要在页重新加载过程中或按功能分组的一组页之间保持其状态的对象。
Session的优点是它在Web服务器上保持用户的状态信息,可供在任何时间从任何页访问这些信息。因为浏览器并不需要存储任何这些信息,所以可以使用任何浏览器,甚至可以使用PDA或手机这样的浏览器设备。
5.1.2Cookies对象简介 Cookies是一组保存在客户端的数据集合,用作InternetCookie的公共储存库的目录。ASP.NET包含两个内部Cookie集合。
通过HttpRequest的Cookies集合访问的集合包含以Cookie标头形式由客户端传输到服务器的Cookie。通过HttpResponse的Cookies集合访问的集合包含一些新Cookie,这些Cookie在服务器上创建并以Set-Cookie标头的形式传输到客户端。
5.1.3Application对象简介 Application对象是System.Web.HttpApplicationState类的实例,对象内保存的信息可以在Web服务整个运行期间保存,并且可以被调用Web服务的所有用户使用。
如果Web服务类派生自WebService类,那么就可以直接使用Application对象。在Web服务中使用Application对象主要包括以下两种情况。
1.在Web服务中,将状态保存到Application对象
2.从Application对象中获取状态信息
5.1.4ViewState对象简介
ViewState属性提供了一个字典对象。通过获取状态信息的字典,从而可以在同一页的多个请求间保存和还原服务器控件的视图状态。5.2ASP.NET的数据访问对象 在ASP.NET内部,除了提供保存数据的对象之外,还提供了数据访问的对象,使用这些对象可以处理比较复杂的Web请求信息。
5.2.1访问Server对象 Server对象是System.Web.HttpServerUtility类的实例,提供了一系列可处理Web请求的方法。通过Server对象,Web服务使用者可以获取Web服务所在服务器的名称、物理路径等。
5.2.2访问Request对象 同ASP.NETWeb程序一样,Web服务同样也可以使用ASP.NET内置的Request对象。通过此对象,客户可以向Web服务发送HTTP请求信息。
用户可以通过WebService类的Context属性来访问Request对象,Request对象的常用属性和方法如表5.1所示。
5.2.3访问Response对象 同Request对象相反,Web服务中的Response对象实现Web服务向客户发送信息的功能。
同ASP.NET应用程序类似,Web服务中的Response对象也是System.Web.HttpResponse类的实例,不同之处在于,在Web服务中需要通过WebServices类的Context属性来获取Response对象。Response对象的常用属性和方法如表5.2所示。
5.3访问Access数据库 Access数据库是一个小型的数据库,主要应用于功能较单一的小型系统。Access数据库具有体积小、容易上手以及便于部署等优点。
在.NET框架中已经提供了一些类可以方便快捷地访问Access数据库,这些类被放在System.Data.OleDb命名空间中。
5.3.1System.Data.OleDb命名空间
System.Data.OleDb命名空间是用于OLEDB的.NETFramework数据提供程序,描述了用于访问托管空间中的OLEDB数据源的类集合。System.Data.OleDb命名空间中的常用类如表5.3所示。
5.3.3读取数据 读取数据库有两种常用的方法,一种是使用OleDbDataReader类,一次读取一行数据。另一种是使用OleDbDataAdapter类,把数据填充到DataSet对象的数据集中。
1.使用OleDbDataReader类 2.使用OleDbDataAdapter类
5.3.4使用SQL语句操作数据 使用SQL语句是操作数据的主要方法之一。操作数据包括写入数据、修改或更新数据和删除数据等。
使用SQL语句操作数据主要通过OleDbCommand类来实现,在OleDbCommand的构造函数中有两个参数,第一个表示操作数据的SQL语句,第二个参数表示OleDbConnection对象的实例。示例代码如下所示:5.4一个简单的投票系统
本节首先介绍一个简单的投票系统,投票的数据保存在数据库中,只保存投票的项目和项目被投的次数。
本系统的实现原理就是,用户每投一次将在数据库中为所投项目的次数属性加1,最终次数属性的值就是此项目的支持数。整个系统的实现流程如图5-2所示。
图5-2简单投票系统实现流程图
5.4.1设计投票功能的数据存储方式 投票功能的数据库比较简单,只需要知道要投票的项目和项目被投的次数。为了保证投票项目的唯一性,还要为其设计一个ID属性。
5.4.2投票项目管理功能
图5-3投票项目的管理界面
5.4.3投票功能
图5-4投票界面
5.4.4图形化显示投票结果功能
图5-5投票结果界面
图5-6投票结果运行界面
5.4.5小结 本节通过实现一个简单的投票系统,讲解了如何访问Access数据库。在创建投票系统的过程中,除了访问Access数据库之外,
主要还涉及两个控件的使用,一个是DropDownList下拉列表控件,一个是GridView数据网格控件。
1.DropDownList控件
DropDownList控件是常用的Web服务器端控件之一,主要用于显示数据列表。
图5-7DropDownList控件
图5-8为DropDownList添加选项
2.GridView控件
GridView控件是以网格的形式来显示数据。有两种方式在页面上添加一个GridView控件对象。
图5-9GridView控件
图5-10为GridView添加选项5.5防止重复投票技术 大部分的网络调查都是为某一目的的决策作参考,如果用户根据自己的爱好反复投票,就导致了投票结果的不准确性。为了防止用户重复投票,保障投票结果的准确率,从ASP时代就总结出了4种方法:利用Session对象、利用Cookies对象、验证IP和小范围调查。
本章将简要介绍这4种方法,并在下一个复杂投票系统中使用验证IP的方式防止用户的投票作弊。
5.5.1利用Session对象
图5-11利用Session防止作弊流程图
5.5.2利用Cookies对象
图5-12利用Cookies防止作弊流程图
5.5.3验证IP和登录时间
图5-13通过验证IP防止作弊流程图
小结 在线投票功能是网站应用程序最常用的功能之一。当网站的管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论