基于Web的招投标系统的设计与实现[20-ASP语言毕业设计_第1页
基于Web的招投标系统的设计与实现[20-ASP语言毕业设计_第2页
基于Web的招投标系统的设计与实现[20-ASP语言毕业设计_第3页
基于Web的招投标系统的设计与实现[20-ASP语言毕业设计_第4页
基于Web的招投标系统的设计与实现[20-ASP语言毕业设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分类号:TP311.1 U D C:D10621-408-(20XX)5950-0密 级:公 开 编 号:20XX032183XX科技大学学位论文基于Web的招投标系统的设计与实现论文作者姓名:赵远强申请学位专业:网络工程申请学位类别:工学学士指导教师姓名(职称):蒋毅(讲师)论文提交日期: 20XX年6月 1日基于Web的招投标系统的设计与实现摘 要招标拍卖的历史悠久,在近两千年的发展历程中,人们对拍卖的理论和技术做了大量的探讨。随着计算机网络技术的迅猛发展和日益成熟,为了提高招投标及采购工作的效率,为廉政建设和防止腐败提供技术保障,传统的拍卖招标向网上招投标过渡, 基于Web的招投标技术将

2、成为今后招投标发展的方向。本文对招投标国内外研究现状进行分析;阐述了ASP.Net技术,SQL数据库技术,以及B/S结构;并对招投标系统总体流程,系统的功能,招投标系统的数据库设计进行了相关的描述。采用ASP.Net运作方式和SQL20XX的新技术和新工具,基于Web方式的招投标系统设计方法,构建了以B/S为结构的招投标系统。关键词:招投标;数据库;B/S;ASP.Net The Design and Implementation of Bidding and Tendering System Based on WebAbstractThe history of tender and auct

3、ion is glorious. In nearly 20XX years of development,the people have made the massive discussions to the auction theory and technology. With the development of computer network technology, to improve work efficiency of public bidding and provide guarantee for preventing corruption and clean governme

4、nt, traditional online auction tender to the tender transition. So bidding and tendering technology based on Web become the development direction of information systems.This paper analyses the current situation and development trend of bidding and tendering technology.An explanation of ASP.Net, SQL

5、database technology, B/S structure was introduced. The general flowchart of the system designing plan and describes the system functions are described. In this paper, the design concept of setting up bidding and tendering system based on Web is presented and attempted by adopting new technology and

6、tools based on ASP.Net and SQL20XX, the system architecture of Bidding and Tendering system based on B/S structure is constructedKey words: Bid and Tender; Database; B/S;ASP.Net目 录 论文总页数:23页 1 引言12 系统概述12.1国内外招投标的发展状况12.2 招投标过程的概述23 系统开发相关技术23.1 系统开发ASP.NET 1.1技术23.1.1 .NET的组成23.1.2 .NET技术23.2 SQL数据

7、库技术33.3 B/S技术34 系统总体分析34.1 系统总体功能模块34.2 用户注册模块44.3 标书下载模块54.4 项目信息发布模块54.5项目竞标模块65 数据库结构设计与实现75.1 数据库逻辑结构设计75.2 数据表的创建75.3 创建表的脚本文件105.4 存储过程106 系统总体实现116.1 Web.Config文件116.2 系统首页面126.3用户注册和登录页面的实现126.4招竞标页面18结 论21参考文献21致 谢22声 明231 引言随着网络的推广与网络技术的迅速发展,电子商务已经被越来越多的人所接受,在某些方面之处利用网络的方便甚至已经取代了传统的商店。充当了买

8、主和卖主之间的零售商。用非常小的开销,人们就可以用电子方式进行招标项目或者竞标项目,通过虚拟的网络方式将买主和卖主联系起来。本系统将设计一个有关买卖双方之间商业行为的网上竞标系统。卖方可以在该系统中发布自己的广告,同时给出自己所希望得到的最底价格,然后由买方出价竞标,最后到截止日期时出价最高者获得项目。 本系统以保证招投标活动的公平、公正和公开的原则,采用竞争的手段实现大宗货物和服务的采购最优化的方式。本文阐述的就是在B/S模式下的Web应用程序,运用Visual Studio.NET和SQL Server 20XX等开发工具来设计和实现-完成招投标的过程,其中招标功能模块主要是实现会员资格审

9、核,用户招投标委托管理,发布招标公告,发布中标信息,澄清、修改项目信息,以及添加项目和下载标书。投标功能模块主要是实现投标文件的接收和管理。该系统作为买方和卖方的一个媒介,一方面由买方出价购买,一方面由卖方发布物品信息,由一段时间内的价高者获得此项目,最后由买卖双方进行确认,最终完成买方和卖方之间的成功交易。2 系统概述2.1国内外招投标的发展状况招标拍卖作为一种常见的价格决定与资源分配机制己经存在了几千年,大约公元前500年,古巴比伦人就采用拍卖方式出售妻子;公元193年,罗马皇帝的皇冠被拍卖掉了,如今,通过拍卖进行的交易数额巨大,交易所涉及的行业众多。许多国家政府采用拍卖方式出售国家债券、

10、外汇、各种开采和开发(如油田的开采权,土地的开发权);许多大型项目合同也是通过招标的方式来实现的。 随着网络技术的不断发展,招投标由原来手工操作方式逐步转变到Internet网上进行的方式,网上招投标系统是指招投标过程中各个角色,如供应商、招标机构等连接起来,企业、机关和个人网上传递投标数据,评标、开标均采用电子手段,通过网络发布中标结果的一种投标方式。网上招标将传统的招投标过程转变为一个简单、方便、快捷的过程,并通过网络将招投标信息传送到各企业。目前,网上招标采购越来越常见,各种各样的在线招标拍卖网站开始兴起,如被人们熟知的E, On 、中国的雅宝(Yabuy.

11、com ) ,酷必得(CoolB)等都是拍卖网站,另外,作为商品消费的大户一政府也开始进行网上招标采购,相关的各级招投标网站也累见不鲜。2.2 招投标过程的概述在招投标过程中招标过程主要是负责会员资质审核,用户招标信息委托管理,招标文件形成,以及招标文件的管理。发布招标公告,发布招标邀请函,发布中标信息,澄清、修改招标书,在线下载标书。并针对投标信息管理所需要的更新修改,提供相应的机制。投标过程主要是进行投标管理和投标后的销毁管理,能够异步和同步参与投标并公开投标结果,并以保存。当投标结束后,根据一定的机制注销投标。因此从总体来看,目前世界各国和有关国际组织的有关采购法律、规则都规

12、定了公开招标、邀请招标、议标等三种招标投标方式。3 系统开发相关技术3.1 系统开发ASP.NET 1.1技术ASP.NET 1.1(Active Serever Page.NET 1.1)是微软公司推出的Web开发平台。是在Internet环境中连接各种信息,系统与设备的软件架构。.NET系列服务软件最终目标是形成Internet的操作系统,进而控制其他基于次平台上的服务应用软件。从而,企业和客户都能从微软或他的盟友中获得任何有价值的基于Internet的服务。在ASP.NET运行时,公共语言运行(CLR)是整个.NET框架赖以存在的基础,它为Microsfot .NET应用程序提供了一个托

13、管的代码执行环境。它实际上是驻留在内存里的一段代理代码,主要负责应用程序在整个执行期间的代码管理工作,比较典型的有内存管理、线程管理、安全管理、远程管理、即时编译和代码强制安全类型检查等。3.1.1 .NET的组成.NET主要由3个部分组成,下面分别对这3个部分进行简单的介绍。(1) .NET战略,.NET战略基于这样一种想法,即所有的设备在将来都会通过Internet连接在一起,而.NET就会为Internet网络上提供的一种服务。(2) .NET Framework,.NET Framework为ASP.NET提供了具体的服务和技术,方便了开发人员对应用程序的开发,同样也满足了已经连接到I

14、nternet上用户的需要。(3) Windows服务器系统,Windows服务器系统是指像SQL Server 20XX 等数据库一样,由.NET Framework应用程序使用的服务器产品。3.1.2 .NET技术(1) .NET Framework为 Microsoft 公司建立 .NET战略提供了基础。所有设备都将在标准化或共享协议的基础赏识用类似XML这样的公共语言,在不同的操作系统和设备上执行众多软件。(2) .NET Framework提供了各种基础服务,而这些服务在Microsoft公司看来是实现其.NET战略的基本所在。要使网络上的两端交换数据库和连网工作更加容易,最好有一个

15、全球网络和类似XML这样的开发标准。3.2 SQL数据库技术随着数据库技术的不断完善,用户数据的不断积累,用户的需求也不断提高,在此之上,更高级的应用应运而生,这包括已经成熟的数据仓库应用、广为接受的商业智能(BI)应用、以及方兴未艾的SOA等。当数据库能够容纳几乎所有数据之后,我们必然面临的一个问题是如何快速获得我们需要的数据。当用户访问数据库时,怎样减少用户的等待,快速返回用户需要的数据是所有数据库都需要解决的问题。这也就需要另外一项高级增强-面向搜索的增强,从某种意义上说面向需求的增强-数据分析和挖掘也正是这个方向上的高级应用之一。目前各数据库在这一方面都不够完善,我们相信在未来,数据库

16、能够容纳和存储各种数据之后,必然向快速搜索和查询方面进行增强。3.3 B/S技术B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端 (Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 以目前的技术看,局域网建立的B/S结构网络应用,通过Internet/Intranet模式下数据库应

17、用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式来访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。 4 系统总体分析4.1 系统总体功能模块网上招投标系统要实现的主要功能是:用户注册,项目招标信息发布,招标信息查询,项目投标单位查看,项目竞标。在系统中,非注册用户可以浏览竞拍中的项目,但不可以参与项目拍卖和竞拍活动。当注册为本系统的会员后,可以实现招标和竞标等相关操作。下面是系统的总体功能模块如图4-1所示。网上招投标系统

18、项目竞标模块用户注册模块项目信息发布模块标书下载模块下载标书登录注册参与竞标浏览项目更新项目添加其它添加项目图4-1 系统总体功能结构在页面浏览器中第一次进入该系统,所看到的是默认的首页,在该页面中主要包括一个系统功能简介和登录、注册等的链接。如果用户还没有自己的帐号,需要首先进行注册,单击首页中相应的链接,进入注册页面。用户正确填写注册信息后,系统将页面自动跳转到主页面,标记用户已经登录。对于已经注册过的用户,可以单击系统首页中的“登录”链接,进入登录界面,此时用户使用正确的帐号和密码登录系统后,页面将自动跳转到登录用户的欢迎界面。该页面对登录用户显示欢迎信息,并提供了一个简单的可供选择的菜

19、单,通过该菜单,用户可以使用系统所提供的各种功能。本系统最主要的功能是招标与竞标,对于某些曾经有过交易记录的用户,该页面同时还会显示出用户在以前访问站点过程中为哪些项目竞过价。若用户单击该列表中的某个项目时,系统会弹出是否确认交易,如果用户确认,那么就可以完成该项目的交易了。4.2 用户注册模块用户注册流程,当用户还没有成为本系统的会员时。如果需要成为会员,那么就需要注册为本系统的会员,才能进行相关的服务操作。如图4-2所示,此模块提供了用户信息的录入功能,首先在将用户注册信息添加到数据库的应用中时,调用了存储过程。实现了用户注册的功能。开始录入用户信息数据是否完整 否 是调用存储过程实现用户

20、信息添加结束图4-2 用户注册模块流程4.3 标书下载模块用户在注册为会员后,通过使用正确的帐号和密码即可登录系统。但是没有注册会员的用户只能浏览项目列表,但不能进行任何相关的操作。此时用户通过注册链接,单击注册进行注册为会员。此时用户就可以通过上述的两种方式进入系统,通过浏览项目列表后,若想采购某种项目,那么就需要下载标书了,如图4-3所示。开始成为会员后系统主页标书下载结束图4-3 标书下载模块流程4.4 项目信息发布模块项目信息发布管理流程,如图4-4所示。此模块提供了项目信息的录入,编辑等功能。若想发布项目信息,首要条件是用户已经成为系统会员,然后可以添加要竞拍的项目,并编辑以添加项目

21、的信息。开始添加项目编号添加其它信息保存结束图4-4 项目信息发布模块流程4.5项目竞标模块项目竞标模块的流程,如图4-5所示。此模块提供了用户从竞标项目列表到交易完成的全部功能。竞标结束时,会判断谁为出价最高的用户,此用户为竞拍此项目的成功者。竞拍成功的用户将会联系卖方,进行项目的交易。开始查询到竞标的项目浏览项目详细信息是否最高出价人 竞标失败 是 否竞标成功 结束联系卖方项目交易 结束图4-5 项目竞标模块的流程5 数据库结构设计与实现5.1 数据库逻辑结构设计图5-1 设计关系模型5.2 数据表的创建在该系统中,作为买方和卖方的一个媒介,一方面由卖方发布项目的信息,另一方面由买方出价购

22、买,由一段时间内的价高者获得此项目,最后买卖双方进行确认,完成网络销售的过程。因此该系统要满足以下的数据库需求分析:招标投标系统需要提供信息的查询,保存,更新以及删除等功能,这就要求数据库能充分满足各种信息的输入和输出,通过上述系统功能的分析,根据招标投标系统的需求,总结如下的需求信息:(1)用户需要注册才能进行招标投标等一系列的相关操作。(2)在项目中,包括待招和已交易的项目信息。(3)在投标中需要包含对每个项目的出价的信息。(4)包含每个已被出价的项目和出价者的ID号。(5)另外还需要包含用户招标的项目信息。所以在该系统中共需要创建5个数据表,用于存放网络招投标管理系统所需要的数据。在数据

23、库模型中不仅列出了各个表中的所有字段,同时也标出了各表的主键和外键等重要的信息,如果仔细阅读前面关于系统功能分析及系统流程的介绍之后,一定可以很好地理解这些数据表中各字段所代表的含义,同时也应该思考为何各表时间的关系。下表5-1至5-6是每个数据表的简要描述,以及它们与数据库中其他表关系的说明。在解决方案中依次具体的思考了每个表中字段的数据类型、键和null值等内容。下面是系统数据表5-1至5-6的简要描述。表5-1 系统数据表的简要描述表描述Person 包含系统中所有注册用户的资料Item 包含待售或以售项目的信息Bid包含每个Item出价的信息Sale包含每项销售的信息,包括被出价的项目

24、和出价者IdSeller包含Person出售的项目信息 表5-2 用户信息表(Person)字段名数据类型长度允许为空是否为主键说明PersonIDbigint8否是唯一标识FamilyNamevarchar255否登录名GivenNamevarchar255否真实名EmailAddressvarchar255否邮箱AdressPasswordvarchar255否密码StreetAddress1varchar255否单位AdressStreetAddress2varchar255是AdressCityvarchar255是城市Statevarchar255是状态PostalCodevarch

25、ar10是邮政编码Countryvarchar255是所属国家Activechar1是行为LastLogindatetime8是最后登录时间表5-3 Seller表字段名数据类型长度是否允许为空是否为主键说明IDbigint8是唯一标识PersonIDbigint8用户IDItemsListedint4所列项目ItemsActiveint4活跃项目LastActivitydatetime8最后一项活动表5-4 Item表字段名数据类型长度是否允许为空是否为主键说明ItemIDbigint8是唯一标识ItemNamevarchar500项目名称Descriptionvarchar1000是项目描

26、述AskingPricemoney8要求价格NotifyPricemoney8是通报价格SellerIDbigint8卖方IDListingDatedatetime8上部时间ExpirationDatedatetime8到期ItemStatusvarchar10状态表5-5 Bid表字段名数据类型长度是否允许为空是否为主键说明BidIDbigint8是唯一标识ItemIDbigint8项目IDBidderIDbigint8投标者IDTimestampdatetime8时间戳 BidAmountmoney8投标金额BidChangemoney8变更表5-6 sale表字段名数据类型长度是否允许为

27、空是否为主键说明SaleIDbigint8是唯一标识ItemIDbigint8项目IDWinningBidmoney8中标BuyerIDbigint8买家IDsellerApprovalchar1卖方审批BuyerAcceptancechar1买方验收CompletiondateDatetime 8竣工日期5.3 创建表的脚本文件数据表在创建完毕后,前面已经介绍了所有表数据表的结构、内容及各表之间的关系,还要生成SQL脚本文件。这里选择的是使用可视化工具还是使用SQL Server脚本文件在查询分析器中直接运行来创建一个表的脚本文件。5.4 存储过程为了遵循好的设计原则,可以使用良种方法对这些

28、表进行访问。如创建一组存储过程,存储过程是Web应用程序后台数据存储的组成部分。应用程序与存储过程通信,而存储过程则与表通信。这意味着如果经常需要改变表的内容,就必须确保存储过程以同样的方式工作,这样才能确保应用程序继续工作。而且使用存储过程访问表比直接访问更快。本系统的存储过程比较多,前面已经详细介绍各个存储过程的功能,下面将本系统的整个存储过程做简要的描述,如下表5-7所示。表5-7 存储过程表存储过程描述 sp_bid_isp添加一条用户的竞价 sp_Get_Bid_Details获取某件项目所有竞价的详细信息 sp_item_dsp删除某件项目 sp_get_highest_bid获取

29、某件项目的最高竞价sp_item_isp添加一件项目sp_item_sel返回某用户的项目sp_item_usp更新某件项目信息sp_items_for_sale返回所有可以竞价的项目sp_login处理用户登录事件sp_my_winning_bids返回某用户当前竞标于领先地位的所有项目sp_person_isp添加一个用户信息sp_person_sel通过用户名即邮件Adress来查询一个用户sp_person_sel_by_id查询某条竞标信息的竞标者信息sp_person_usp更新用户信息sp_sale_complete完成某个项目的交易sp_sale_isp为某个项目增加一次成功的

30、交易记录6 系统总体实现本系统使用Pagelet控件技术编写了Header.ascx和Footer.ascx两个用户控件。其中Header.ascx控件用来显示系统标题,Footer.ascx控件用来显示系统的版本和版权信息。 本系统还主要提供了那些与项目基本信息相关的数据库操作方法,在项目类中首先为了用户参与招标投标,其中主要的部分是为某个项目添加一个招竞信息,在添加项目的时候通过对项目发布,项目信息的说明,以及对项目信息的修改,删除,更新等操作来实现了用户在本系统中的招标功能,其功能的实现主要是在数据库中对相关的数据与信息进行修改,删除,更新等,即实现发布招标信息使用户参与招标。 此外,当

31、用户登录本系统后,可以对一系列项目进行浏览,当用户欲求购项目时,那么就需要参与竞标,在参与竞标之前需要对标书进行下载等工作。其页面显示了一个表,该表对每个当前招竞标的项目作了简单的说明。注册用户可以选择某个特定的待招项目,单击后到达BidItem.aspx页面查看别人的竞价或者自己欲对该项目出价,其功能的实现主要是对一个项目出价,出价后利用数据绑定将出价信息写入数据库,在数据库中通过对出价信息进行比较,将出价最高的用户判定为竞标获胜者,再从数据库中将数据读取出来并将用户参与竞标的项目发布在系统的主页面上,同时还公布出参与竞标的用户的详细信息。6.1 Web.Config文件主要介绍Web.Co

32、nfig文件为了避免页面重复连接数据库操作的设置。 6.2 系统首页面该页面为系统首页(图6-1系统首页),提供了登录、注册和浏览列表的链接。该页面非常简单,如果用户已经是系统会员,那么只要输入正确的用户名和密码就可以进入改系统了。如果用户不是会员,那么用户只要按照要求填写相关的信息就可以成功的注册为本系统会员。在不是会员的情况下,用户可以浏览本系统中正在招标的相关信息,但是不能进行任何相关的操作。 图6-1 系统首页6.3用户注册和登录页面的实现用户注册页面主要调用Person类提供了用户的详细信息相关的各个属性。这些属性分别与数据表中的字段相对应。在首页面单击“注册”链接进入该页面,此页面

33、不仅可以让用户注册添加个人用户信息,同时它也是修改注册信息的界面。在该页面中使用了几个Panel组件,通过设置它们的Visible属性可以实现上面的操作。在写入数据库时,首先调用了Tools类中的public static bool IsLoggedIn()方法来实现判定用户是否已经登录,这样才能进行安全验证,确定用户是否具有权限访问某些页面。如果没有登录需要注册,则添加用户详细信息,通过Customer方法和系统引用文件.dll向数据库添加注册信息。下面是Person类设计方案方法的定义和描述。如下表6-2所示: 表6-2 Person类设计方案方法的定义和描述方法名称描述public st

34、ring AddCustomer(string FamilyName,string GiveName,string EmailAddress,string Password,string Add1,string Add2,string City,string State,string Zip,string Country)添加一个用户信息public PersonDetails GetPersonByID(Int32 intPersonID)获取某条竞标信息的竞标者信息public PersonDetails GetPersonByID(string strEmail)通过用户名即邮件Adre

35、ss来查询一个用户public PersonDetails Login(string strEmail,string strPassword)处理用户登录事件public string ModifyCustomer(string FamilyName,string GiveName,string EmailAddress,string Password,string Add1,string Add2,string City,string State,string Zip,string Country)更新用户信息其页面和几个事件代码如下图6-2所示: 图6-2 用户注册页面下面主要介绍的是注册

36、页面中核心代码部分,其代码如下: private string Process;/判定是否为注册用户 private void Page_Load(object sender, System.EventArgs e) if (Tools.IsLoggedIn() Process = MODIFY; Bid.PersonDetails myPersonDetails = new Bid.PersonDetails(); Bid.Person obj = new Bid.Person(); myPersonDetails=obj.GetPersonDetails (Request.Cookiese

37、mail.Value); txtFamilyName.Text = myPersonDetails.FamilyName; txtGivenName.Text = myPersonDetails.GivenName; txtEmail.Text = Request.Cookiesemail.Value; txtPwd.Text = myPersonDetails.Password; txtAdd1.Text = myPersonDetails.StreetAddress1; txtAdd2.Text = myPersonDetails.StreetAddress2; txtCity.Text

38、= myPersonDetails.City; txtState.Text = myPersonDetails.State; txtZip.Text = myPersonDetails.PostalCode; txtCountry.Text = myPersonDetails.Country; txtEmail.Enabled = false; obj = null; GuestMenu.Visible = false; RegisteredMenu.Visible = true; else Process = ADD; GuestMenu.Visible = true; Registered

39、Menu.Visible = false; /添加用户信息private void btnSubmit_Click(object sender, System.EventArgs e)if (Page.IsValid)Bid.Person obj = new Bid.Person();string strStatus;if (Process = ADD)strStatus = obj.AddCustomer(txtFamilyName.Text,txtGivenName.Text,txtEmail.Text,txtPwd.Text,txtAdd1.Text,txtAdd2.Text,txtCi

40、ty.Text,txtState.Text,txtZip.Text,txtCountry.Text);tryInt32.Parse(strStatus);Response.CookiesGivenName.Value= txtGivenName.Text;Response.Cookiesemail.Value = txtEmail.Text;Response.CookiesPersonID.Value = strStatus;Response.Redirect(MenuForRegisteredUsers.aspx);catch (FormatException ex)lblMsg.Text

41、= strStatus; else/ 更新用户信息strStatus=obj.ModifyCustomer(txtFamilyName.Text,txtGivenName.Text,txtEmail.Text,txtPwd.Text,txtAdd1.Text,txtAdd2.Text,txtCity.Text,txtState.Text,txtZip.Text,txtCountry.Text);if (strStatus = 1)Response.CookiesGivenName.Value= Request.FormtxtGivenName;Response.Cookiesemail.Val

42、ue=txtEmail.Text;Response.Redirect(MenuForRegisteredUsers.aspx);else if(strStatus.Length 1)lblMsg.Text = Update Failed! + strStatus;用户登录页面主要是为会员提供服务,在用户已经成为会员时,只要该用户输入正确的用户名和密码,就能进入系统,进行一些相关的具体操作。因此,重点是按钮的单击事件响应程序,其功能主要是通过判定用户输入的用户名和密码是否和曾经注册时写入在数据库中的数据是否相同,来实现的登录功能。该页面(图6-3用户登录页面)与代码如下:图6-3 系统登录页面p

43、rivate void btnSubmit_Click(object sender, System.EventArgs e)if (Page.IsValid)Bid.Person obj = new Bid.Person();Bid.PersonDetails myPersonDetails = new Bid.PersonDetails();myPersonDetails = obj.Login(txtEmail.Text, txtPwd.Text);if (myPersonDetails.PersonID != 0)Response.Cookiesemail.Value = txtEmai

44、l.Text; Response.CookiesGivenName.Value = myPersonDetails.GivenName; Response.CookiesPersonID.Value = myPersonDetails.PersonID.ToString();Response.Redirect(MenuForRegisteredUsers.Aspx);elselblMsg.Text = Login failed. Please try again.;6.4招竞标页面该页面显示了一个表,该表对每个当前招竞标的项目作了简单的说明。从该页面中,注册用户可以选择某个特定的待招项目,单击

45、后到达BidItem.aspx页面查看别人的竞价或者自己为该项目出价。该页面功能的实现主要是对一个项目出价后,利用数据绑定将出价信息写入数据库,通过都出价信息的比较,将出价最高的用户判定为竞标获胜者,并发布出该用户的信息。该页面(图6-4项目工程)如下:图6-4 项目工程该页面项目类的数据层设计的方法和Page_Load主要事件处理程序与页面如下(图6-4项目工程):表6-2列出了Item数据层类的设计方案方法的定义和描述。表6-2 Item类设计方案方法的定义和描述方法名称描述public string AddBid(Int32 ItemID)为某个项目增加一个竞标信息public stri

46、ng AddItem(string ItemName,string ItemDesc,Double ItemAsk,Double ItemNotify,Int32 ItemSellerID,DateTime ItemExpDate)增加一个项目用于竞标public string AddSale(Int32 ItemID,Int32 BidID)为某项目添加一次成功的交易记录public string CompleteSale(Int32 ItemID,Double WinningBid) 完成某件项目的交易public string DeleteItem(Int32 ItemID)删除某件项目

47、public SqlDataReader GetBidDetails(Int32 intItemID)获取某件项目所有竞价的详细信息public string GetHighestBid(Int32 intItemID)获得某个项目的最高竞价public SqlDataReader GetMyWinningBids(Int32 intPersonID)返回某用户当前竞标处于领先地位的所有项目public string UpdateItem(string strItemID,string strItemName,string strItemDesc,string strAskPrice,stri

48、ng strNotifyPrice)更新某件项目的信息public SqlDataReader ViewItems(Int32 ingSellerID)返回某用户的项目public SqlDataReader ViewItemsForSale()返回所有可以竞价的项目在介绍了该类的方法与页面实现后,下面主要介绍的是该页面中核心代码部分,其代码如下:private void Page_Load(object sender, System.EventArgs e)if (!Page.IsPostBack)BindGrid();/通过Tools类中的:public static bool IsLoggedIn()方法,并用该方法去判断用户是否已经登录。 if (Tools.IsLo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论