毕业设计(论文)-基于.NET的团购网-抱团网的设计与实现.doc_第1页
毕业设计(论文)-基于.NET的团购网-抱团网的设计与实现.doc_第2页
毕业设计(论文)-基于.NET的团购网-抱团网的设计与实现.doc_第3页
毕业设计(论文)-基于.NET的团购网-抱团网的设计与实现.doc_第4页
毕业设计(论文)-基于.NET的团购网-抱团网的设计与实现.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

浙江财经学院本科生毕业论文(或毕业设计)基于.NET的团购网-抱团网的设计与实现摘 要:2010年,团购网站在国内势不可挡的风靡开来,其运营成本相对较低,又具有明显的优势及发展前景,使得众多商家瞄准了这个机会。本文首先介绍了网络团购的概念及优势,在对现有的几个大型团购网站进行分析比较后,确定了本网站的开发方式及所要开发的基本功能;在此基础上,得出数据库的结构分析;接下来,展示了网站的开发过程,着重分析了网站主要功能实现的关键开发技术,对重点难点给出了详细的实现方法。最后,对本网站的开发工作进行了总结与回顾。关键词:团购;网站;.NetThe Design and Implementation of BaoTuan WebsiteBased On .NetAbstract: In 2010, group-buying websites were overwhelming popular in China. It has relatively low operating costs, and also has obvious advantages and prospects, which made lots of businesses targeting on this opportunity. This paper introduced the concept and advantages of group-buying website. After analyzed and compared some existing large-scale group-buying websites, the way to develop this website and the basic functions of this website is confirmed, and the structure of the database is drew. Then, this paper showed the development process of the website, analyzed the key site development technology to achieve the main functions, presented detailed implementation methods on difficulties. Finally, this paper summarized and reviewed the development work on this website. Key words: group-buying; website; .net 目 录1 引言11.1 课题背景11.2 课题意义11.3 现状分析及发展趋势22 网站分析与设计32.1 可行性分析32.2 网站功能分析32.2.1 用户管理模块主要功能42.2.2 网站简介模块主要功能52.2.3 团购信息查看模块主要功能52.2.4 商品购买模块主要功能52.2.5 交流互动模块主要功能52.3 系统概要设计52.3.1 网站业务流程设计62.3.2 网站数据流程分析72.3.3 数据库分析设计92.3.4 网站技术分析123 网站页面设计143.1 站点首页143.2 帮助页面143.3 往期团购页163.4 讨论区页173.5 购买页173.6 个人中心页184 网站主要功能实现204.1 公共模块开发204.2 用户管理模块主要功能的实现204.2.1 用户登录验证代码204.2.2 用户退出代码224.3 讨论区模块实现224.3.1 判断用户身份224.3.2 绑定所有主题列表、帖子主题和回复列表并实现分页234.4 在线答疑模块实现255 总结与展望27参考文献28致 谢29291 引言1.1 课题背景2008年11月,美国一家名为Groupon的团购网站成立,并在成立后7个月内迅速获得盈利,17个月时估值高达13.5亿美元。Groupon的成功,在全球范围内掀起了一股模仿的热潮。2010年1月,我国第一家团购网站满座网上线,而在紧随其后的几个月中,各种团购网站如雨后春笋般不断出现,目前已达到三、四百家,并还在不断增长中。团购就是团体购物,指的是认识的或者不认识的消费者联合起来,来加大与商家的谈判能力,以求得最优价格的一种购物方式1。根据薄利多销、量大价优的原理,商家可以给出低于零售价格的团购折扣和单独购买得不到的优质服务。现在团购的主要方式是网络团购。网络团购作为一种新兴的电子商务模式,通过消费者自行组团、专业团购网站、商家组织团购等形式,提升用户与商家的议价能力,并极大程度地获得商品让利,引起消费者及业内厂商、甚至是资本市场关注。团购的商品价格更为优惠,尽管团购还不是主流的消费模式,但它所具有的爆炸力已逐渐显露出来2。其目的是让每一个人都能找到更优惠的商品,让不相识的消费者共同享受物美价廉的服务。1.2 课题意义团购网站以“采购”(团购)的名义与商家洽谈,直接在团购网站上放置商品信息团购,商家一方面降价让利给消费者,另一方面给团购网站一部分回佣,在这个过程中团购网站就是一个代销平台,消费者通过团购平台购买物美价廉的商品,这是团购网站运作中传统的盈利方式3。在市场激烈的环境下,团购(大量购买或者说批发价)让商家有机会开辟新的营销战场,无疑是给商家带来了新的商机,消费者也以批发价购买到了商品,团购网站从商家抽取差价。对于团购网站而言,消费者和商家均是其目标客户,而其充当的只是一个中介的角色。因此,团购网站的项目主要以餐饮、美容美发、生活娱乐等中小型服务类企业的服务为主,这样便可以减小实物销售在时间、空间上造成的资源消耗4。团购的优势主要表现在两方面:一是团购价格低于产品市场最低零售价,二是产品的质量和服务能够得到有效的保证。团购能够带来上述好处的原因主要有两个。一是参加团购能够有效降低消费者的交易成本,在保证质量和服务的前提下,获得合理的低价格。团购实质相当于批发,团购价格相当于消费者在批发购买时的批发价格。通过网络团购,可以将被动的分散购买变成主动的大宗购买,所以购买同样质量的产品,能够享受更低的价格和更优质的服务。二是能够彻底转变传统消费行为中,因市场不透明和信息不对称,而导致的消费者弱势地位。通过参加团购更多地了解产品的规格、性能、合理价格区间,并参考团购组织者和其他购买者对产品客观公正的评价,在购买和服务过程中占据主动地位,真正买到质量好、服务好、价格合理、称心如意的产品,达到省时、省心、省力、省钱的目的5。1.3 现状分析及发展趋势在比较查看了现有的几大团购网站的用户界面及功能后,我发现,大部分团购网站的功能都差不多,但没有哪家能够吸引用户长期固定的使用该网站。综合各方研究可以看到,对于团购网站而言,其最大的困难之一就是缺乏足够的用户粘性。作为用户,可以选择在任何一家团购网站上消费。因此,如何增加用户粘性就成了各大团购网站需要首要考虑的问题之一。团购网站未来的发展方向大概有以下两种可能:、建立社区论坛。对于团购网站而言,论坛是一个用来粘住用户的好方法之一,在论坛的内容设置方面可以尽量围绕本地的一些衣食住行,因为喜欢逛团购网站的网友对这方面的关注也是十分多的,大部分人很喜欢寻求哪里有打折、优惠、免费的资讯。团购网提供一个免费发布打折信息的平台,既能吸引商家,又能吸引消费者,而吸引过来的商家其中又有部分可以成为网站的客户。、建立点评中心。很多人都喜欢点评,有了点评中心的团购网,可以让消费者对每一次的消费进行一次点评,这样的团购过程才能算得上圆满,同时点评也是对商家服务质量的一个间接监督。点评是口碑建立的开始,对于商家而言,好的点评是口碑的建立;对于团购网站而言,一套完善的点评系统则是团购网品牌的建立,而大部分团购网站缺的就是品牌。所以说做好点评中心既可以解决团购网站付钱后服务质量不能得到保障的问题,也是团购网站品牌塑造的重要步骤。2 网站分析与设计2.1 可行性分析可行性,它的含义是指在当前情况下,研制这个项目是否有必要,是否具备必要的条件,它不仅包括可能性,还包括必要性,合理性。本项目的可行性分析,是针对开发一个团购网站,它的开发是否存在内外部的必要条件,包括技术上、资金上、经济上、人力资源以及组织管理上的必要条件,同时还要分析在目前条件下是否有必要开发这样一个团购网站。团购一般都是在一定区域范围内进行,团购网站最大的特点就是具有区域(本地)性。区域性这一特点能够带给消费者在产品质量上、交易的安全上、售后服务上得到很好的保障,而这些保障在普通的购物网站上目前是无法达到的。特别是对于一些贵重商品,消费者大多不会在网络上进行购买、交易,相较而言,区域性的团购网站更受老百姓欢迎和更易被接受7。现在跟商家相结合的网站并不少,但却难以受到商家的认可甚至遭到排斥,其根本原因是商家无法看到网站给他们带来的实际效益,对虚拟形式没有信心。而团购网站则大大不同,团购能直接给商家带来大规模的客户,是直接的效益改观,并且在没见到效益之前商家几乎不用付出成本,所以在商家合作洽谈时相对会比较顺利,并且能很好的配合。商家与网站一旦有了初次成功合作后,一般都会对网站重视起来,发展更多形式和更加深入的合作就变得更方便。在如今市场竞争如此激烈的环境下,团购无疑是给商家带来了新的契机,让其有机会开辟新的营销战场,打破传统销售模式的瓶颈,因此,团购的发展潜力还是毋庸置疑的8。综上所述,团购网站是一个将消费者与企业、商家精密相结合,以互联网平台作为应用的一个商业特性显著的项目。其受众群体都是具有消费能力并且是正准备要进行消费行为的用户,并且不论从区域、需求上都相对集中,使得网站的商业价值明显高于其他任何类型的地区性网站。所以,团购网站是一项市场前景广阔、需求旺盛、盈利模式清晰的可行性项目。2.2 网站功能分析纵观当下几大团购网站,其页面设计上大都留有美国Groupon网站的痕迹,在形式上基本是大同小异,每个网站在细小之处上都有区别于其他网站的不同,这体现了其技术能力及其理念方向的不同,但就最重要的功能而言,每个网站都是相同的,即会员制的商品销售功能。作为一个团购网站,其功能要符合网站最初设计时所要实现的功能,这样才能够使网站在制作完成,经过测试后,能够达到预期的效果,实现它应有的功能。抱团网秉着“先模仿,后超越”的想法,根据需求分析初步确定以下几个基本功能:包括用户管理、网站简介、团购信息查看、商品购买等几个团购网站普遍具有的功能,以及交流互动这个大部分团购网站所不具有的功能。具体模块功能如图2.1所示:图2.1 各模块功能2.2.1 用户管理模块主要功能用户管理主要实现会员的注册,审批,登陆,账号和密码的验证,用户资料的管理等功能。用户在网站上登记注册,成为会员,可以享有网站提供的相应服务。会员登录后可以进行商品购买;在讨论区发帖;进入个人中心后可看到所购买的商品,以及在用户交流区中发表及回复的帖子,并可以在此进行密码的修改。而非会员只能查看网站的团购信息,并不能进行购买,也不能在讨论区发帖。2.2.2 网站简介模块主要功能网站简介模块比较简单,主要向用户提供基本的操作流程,对团购概念及其业务不太熟悉的用户可以在这里学会如何进行团购,并对整个网站的基本功能及运行模式有大概了解。会员及非会员都可以对此进行查看。2.2.3 团购信息查看模块主要功能团购信息的查看包括查看当日团购信息及查看往日团购信息。通常当日的团购信息显示在网站首页,往日团购信息按时间降序的顺序排列在次要页面。只有让用户了解到商品,商品才有机会卖得出去,而这个模块就是商家用来展示商品或服务的。网站用精美并真实的文字及图片向用户介绍商品的特性,显示折扣、购买人数及剩余时间,吸引用户消费。会员及非会员都可以对此进行查看。2.2.4 商品购买模块主要功能团购网站的目的就是为了出售商品,那么就应该实现网上购买的功能。为了安全性等方面考虑,非会员不能参与此功能,而会员可以对自己感兴趣的商品进行下单、购买。由于抱团网不涉及真实盈利,因此后台没有链接支付宝,本模块提供给会员一个虚拟的购买环境,虚拟的设定了付款的条件。当会员决定要团购某商品时,系统会给出提示,要求会员确认购买数量,并显示金额;数量填好后,会有进一步的确认;再次确认后,购买就完成了。这时网站会将该商品加入“我的订单”,并显示已付款;如不确认,则会取消该订单。2.2.5 交流互动模块主要功能交流互动模块是时下各大团购网站所不具备的,本模块与时下流行的论坛类似,提供了一个用户与管理员沟通的渠道,同时为用户彼此之间建立了一个相互交流的平台。会员及非会员均可以通过在线答疑模块发表留言以提出自己的问题,管理员会对此进行相应的回复;会员还可以在讨论区发帖及回帖,发帖后如果发现发表内容需要修改或删除,可以通过“编辑”或“删除”功能对发表的帖子进行修改或删除,提交后显示更新内容。2.3 系统概要设计在对网站进行需求分析及应有功能分析后,还要对网站实现的方法进行研究,包括业务流程设计,数据流程分析,数据库分析及技术分析几个方面,下面具体介绍。2.3.1 网站业务流程设计会员登录后,可访问网站所有内容,包括查看当日及往日的团购信息;购买当日折扣商品;查看个人信息;发帖交流购买心得等。主要流程为:通过注册成为会员,在登录页面登录账号后,查看当日的团购信息,如需要则进行购买,进入购买页面,两次确认后即确认购买了该商品;进入“往期团购”一栏,可查看往期的团购项目,以及该项目团购人数,成功与否等信息;进入“在线答疑”一栏,可针对某个团购项目进行提问,或向网站提出需要什么类型的团购项目,此处由管理员负责回复;进入“讨论区”一栏,可发表及回复帖子,针对某个团购项目表达自己的意见,或写下自己的真实体验;如对之前所发布得帖子感到不满意,可进行编辑或删除。其中重点部分注册登录及购买商品的流程如图2.2及2.3所示: 用户注册判断所填各项内容是否符合条件注册成功是否登录网站,并执行相应操作图2.2 注册登录流程 登陆网站查看当日团购信息是否需要购买确认订单是否付款是否加入我的订单,并显示已付款取消订单图2.3 团购商品流程此外,如果用户未登录,则仅允许访问网站内完全公开的信息和资源,不具备交互功能,因此业务流程相对简单,只包括查看团购信息、网站简介等相对简单的操作,如果进入到需要登录才能操作的界面,则会自动跳转至登录界面。2.3.2 网站数据流程分析数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。根据网站的主要功能明确了网站的业务流程设计,得到了网站主要功能购买及发帖的数据流程图,具体如下图所示。管理员P1添加商品信息D1商品信息会员P2购买商品D2订单信息D3帖子信息P3发布帖子图2.4 数据流程图数据流程图所对应的数据字典如表2.1至2.3所示。表2.1 商品信息数据存储名称:商品信息编号组成:商品名称+商品简介+商品价格+商品其他信息来源:添加商品信息去向:购买商品表2.2 订单信息数据存储名称:订单信息编号组成:会员序号+商品序号+购买时间+购买数量+消费金额来源:购买商品去向: 表2.3 帖子信息数据存储名称:帖子信息编号组成:会员序号+帖子标题+帖子内容+发帖时间来源:发布帖子去向: 表2.4 添加商品信息加工:添加商品信息编号输入/来源:管理员加工逻辑:管理员添加商品信息输出/去向:商品信息表2.5 购买商品加工:购买商品编号输入/来源:会员+商品信息加工逻辑:会员购买商品输出/去向:订单表2.6 发布帖子加工:发布帖子编号输入/来源:会员加工逻辑:会员发布帖子输出/去向: 2.3.3 数据库分析设计根据对网站功能、业务流程、数据流程的分析,得出数据库的结构分析。其中数据字典如表2.7至2.13所示:表2.7 网站信息表序号列名数据类型长度允许空默认值说明1xidint4否主键2xnamevarchar200是名称3xbz1ntext16是常见问题4xbz2ntext16是如何团购表2.8 城市表序号列名数据类型长度允许空默认值说明1xidint4否 主键2xnamevarchar50是名称3xpyvarchar50是拼音4xpxint4否(0)排序5xflagint4否(0)状态表2.9 团购产品表序号列名数据类型长度允许空默认值说明1xidint4否主键2xctidint4是城市编号3xcidint4是(0)商家编号4xnamenvarchar500是团购产品名称5xnamebvarchar50是短名称6xpicnvarchar50是图片7xpriceint4是价格8xpriceyint4是原价9xtypeint4是类型10xdesntext16是排序11xbzntext16是备注12xtanvarchar1000是他们说13xwonvarchar1000是我们说14xshangnvarchar1000是商家介绍15xbtimedatetime8否(getdate()开始时间16xetimedatetime8否(getdate()结束时间17xflagint4是(0)状态18xpxint4是(0)排序19xaddtimedatetime8否(getdate()添加时间20xctint4否(1)最低成团人数21xgouint4否(0)已购买22xtishinvarchar500是温馨提示23xliangnvarchar500是本期亮点表2.10 留言表序号列名数据类型长度允许空默认值说明1xidint4否主键2xpidint50否会员序号3xcontvarchar50否留言内容4xhfvarchar50是回复内容5xaddtimedatetime8否getdate()留言时间6xhftimedatetime8是getdate()回复时间7xflagint4否是否回复表2.11 订单表序号列名数据类型长度允许空默认值说明1xidint50否主键2xpidint44否产品序号3xcidint4是商家序号4xuidint4否会员序号5xnumint4否(0)购买数量6xmoneyint4否消费金额7xaddtimedatetime8否getdate()购买时间表2.12 用户表序号列名数据类型长度允许空默认值说明1xidint4否主键2xnamevarchar50否用户名3xpassvarchar50否密码4xuservarchar50是真实姓名5xtypeint4否(0)类型6xaddtimedatetime8否getdate()添加时间表2.13 讨论表序号列名数据类型长度允许空默认值说明1xidint4否主键2xcidint4否(-1)用户id3xtypeint4否(0)类型4xnamevarchar100否文章标题5xintrontext16是内容6xaddtimedatetime8否(getdate()添加时间7xmdtimedatetime8否(getdate()修改时间8xclicksint4否(0)点击量9xzdyint4否(0)0代表发帖大于0代表回复帖编号2.3.4 网站技术分析现在国内团购网站的开发,后台多用.net、jsp等技术,前台美工多用PS等软件。抱团网从网站的稳定性、安全性、页面的实用及美观等多方面考虑,决定采用A结合SQL Server 2000数据库进行开发。Asp是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术9。指 Active Server Pages(动态服务器页面),运行于IIS之中的程序。ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与ADO 1.0一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。由于它的简单以及高度客制化的能力,也是它能迅速窜起的原因之一。SQL(Structured Query Language),即结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。A与SQL Server数据库这两者结合使用,其强大的功能及简便的操作对一个网站制作入门学者来说,还是非常实际及实用的。3 网站页面设计页面的设计,除了界面美观、功能丰富之外,还必须考虑用户使用的便捷性和舒适性,也就是用户体验。这一方面综合考虑了网页的显示速度、用户的登录方式、资源的搜索方式、导航的结构、视觉的感受等不同角度。下面根据网页功能的不同,按照首页、帮助页面、往期团购页面、讨论区页面、购买页面、管理中心等几个方面,分别进行介绍。3.1 站点首页首页是整个网站的门面,需要特别注重设计和规划,首页的设计是整个网站设计的重中之重。本网站页面采用橙色作为主色调,热情时尚又不至于太过耀眼,颜色的过度使用了渐变效果,给人一种极具动感的视觉效果,也使网站更具有吸引力。界面上,通过框架页与普通页的结合,实现了首页与网站各个页面风格及格式的统一。功能上,首页除了提供便捷的注册链接及用户登录入口,还放置了“今日团购”、“玩转抱团网”、“往期团购”、“讨论区”等特色版块的快速导航链接。这样的布置可以为使用者带来更便捷的操作。同时,首页上也保留一部分篇幅,介绍团购的基本流程,让浏览者在第一时间就能了解本网站,并对如何操作有大致了解。如图所示: 图3.1 首页界面3.2 帮助页面帮助页面即快速链接中的“玩转抱团网”,本页面主要向用户介绍了团购的基本流程,解答部分常见问题;同时还提供在线提问功能,使会员可以更自由的向网站提问,或表达意见或建议,由管理员在后台回复。如图所示: 图3.2 帮助页面1 图3.3 帮助页面2 图3.4 帮助页面33.3 往期团购页本页的功能是显示某地区往期团购内容,每条团购信息显示一张主要图片,以及少量关键性文字,按时间降序排列,每条信息都是一个链接,用户可直接点击访问该团购项目的全部内容。如图所示: 图3.5 往期团购页面3.4 讨论区页讨论区模仿了一个简易论坛,会员可以在此进行发帖或回帖,针对某个团购项目表达自己的感受,写下自己的真实体验,如不满意,可进行编辑或删除。非会员则不能进行操作,页面会跳转至登录页面。如图所示: 图3.6 讨论区页面3.5 购买页会员在决定购买某项团购商品后,通过本页面确认购买,包括数量及金额,两次确认后则为购买成功,否则会取消订单;非会员不能进行操作,页面会跳转至登录页面。如图所示: 图3.7 购买页面1 图3.8 购买页面23.6 个人中心页会员登录后点击该页面,可看到之前所购买的商品,发布的帖子,包括发表的及回复的,以及个人资料等信息。在这里可以对自己发出的帖子跟踪查看,如不满意,可进行编辑或删除;对于已经购买过的商品,可以点击查看该商品的具体信息;还可对个人密码进行修改等。如图所示: 图3.9 个人中心页面1 图3.10 个人中心页界面2 图3.11 个人中心页界面34 网站主要功能实现4.1 公共模块开发公共模块是各大模块页面都需要用到的基础模块,通过独立设计,页面调用的方法实现一次编写,多处调用的效果,这样有效提高代码的编写效率。其方法是在需要调用的地方插入调用代码,页面将直接应用代码所指向的文件。由于前台页面头尾都一样,为了避免修改头尾时要一个个页面修改,所以网站采用Master模板,把首页文件写入ind.Master中,具体代码如下10: 所有风格需要统一的页面均继承ind.Master,每个网页不同的地方只需重写ContentPlaceHolder中的部分即可。4.2 用户管理模块主要功能的实现本功能模块的开发主要为了解决网站整体的用户统一管理。4.2.1 用户登录验证代码用户能否登录,需要与数据库用户表中的信息进行比较,如果输入的用户名和密码相匹配,则登录成功,网站会跳转至相应的页面;否则就转向错误提示页面提示用户名或者密码错误11-12。具体判断方法如下:protected void Button1_Click(object sender, EventArgs e) /这里编写登陆逻辑 string error = ; BT.BLL.tuser tut = new BT.BLL.tuser(); /声明BLL层中DA.BLL.tuser用户类的对象 BT.Model.tuser tu = new BT.Model.tuser();/声明Model层中DA.Model.tuser用户类的实体 int pk = -1; tu=tut.GetModelt(TextBox1.Text.Trim(); /调用BLL层的方法 返回实体层 int type = -1; if (tu != null) if (tu.xpass = TextBox2.Text.Trim() pk = 0; type = Convert.ToInt32(tu.xtype); else pk = -2; switch (pk) case -1: error = 用户不存在,或者被删除!; break; case -2: error = 密码错误!; break; default: Response.Cookiessno.Value = tu.xid.ToString(); Response.Cookiessno.Expires = DateTime.Now.AddHours(2); Response.Cookiessname.Value = HttpUtility.UrlEncode(TextBox1.Text); Response.Cookiessname.Expires = DateTime.Now.AddHours(2); Response.Cookiesstp.Value = type.ToString(); Response.Cookiesstp.Expires = DateTime.Now.AddHours(2); break; this.Label1.Text = error; cshi(); 其中TextBox1为用户在登录网站时输入的用户名,TextBox2为输入的密码。此处对于用户的输入情况进行了两种判断,分别为登录成功与登录不成功;而登录不成功又分为两种情况,分别为用户名不存在和用户名存在而密码输入错误,对此分别在登录框下方对用户进行了提示。4.2.2 用户退出代码退出时要清除用户名、用户ID和用户权限变量,以防止其他用户非法登录13。具体代码如下: string url = Default.aspx; int k = Convert.ToInt32(Response.Cookiesstp.Value); Response.Cookiessno.Expires = DateTime.Now.AddHours(-2); Response.Cookiessname.Expires = DateTime.Now.AddHours(-2); Response.Cookiesstp.Expires = DateTime.Now.AddHours(-2); Response.Redirect(url);4.3 讨论区模块实现 讨论区是抱团网不同于其他团购网站的独特之处,其重点主要有两部分,下面分别介绍:4.3.1 判断用户身份由于讨论区的发帖及回复功能都是只面向会员的,因此在进行此操作前需要先对用户身份进行判断。如果是会员并已成功登录,则可以发帖;若用户尚未登录,则会强制跳转至登录页面14-15。具体代码如下: if (Request.Cookiessno = null) Response.Write(alert(您尚未登录,暂时不能发帖,请先登陆!);document.location=u_log.aspx;); else Response.Redirect(user/news_add.aspx); 4.3.2 绑定所有主题列表、帖子主题和回复列表并实现分页由于用户在讨论区看到的帖子是只能查看,而不能进行编辑的,出于对功能实现、性能优化等方面的考虑,本网站在开发时选用了Repeater控件。Repeater Web 服务器控件是一个容器控件,使用户可以从页的任何可用数据中创建出自定义列表。Repeater一般用于只读的数据,对数据呈现的列表不具备像Gridview控件所有的编辑、排序、分页等功能,这些功能需要手工编写实现16。下面具体介绍绑定所有主题列表,绑定帖子主题和回复列表,以及分页功能是如何实现的。绑定所有主题列表:string strsql = xzdy=0 and xtype= + k;string tname = tnews; int recordcount; int pagesize = this.AspNetPager1.PageSize; int pageindex = this.AspNetPager1.CurrentPageIndex; DataPage dp = new DataPage(); this.Repeater2.DataSource = dp.pagelist(pagesize, pageindex, tname, , xid, strsql, xid desc, out recordcount); this.Repeater2.DataBind(); this.AspNetPager1.RecordCount = recordcount;在这里pagesize是预先设定好的每页显示数据的数量,pageindex 代表当前的页数,tname是帖子的主题,xid是帖子的编号,xid desc控制帖子按照时间的降序排列,最后发的帖子排列在最上面,最后将读取到的数据进行绑定。绑定帖子主题和回复列表17:BT.Common.DataPage dp = new BT.Common.DataPage(); int fid = 0; int xid = Convert.ToInt32(Requestid); BT.BLL.tnews tn = new BT.BLL.tnews(); BT.Model.tnews xinw = tn.GetModel(xid); xinw.xclicks = xinw.xclicks + 1; tn.Update(xinw); this.Label1.Text = xinw.xname; int ffid = xinw.xtype; string bcb = dp.pname(ffid); Page.Title = Label1.Text + - + bcb + ; string strsql = xtype=103 and (xzdy=+xid+ or xid=+xid+); string tname = tnews; int recordcount; int pagesize = this.AspNetPager1.PageSize; int pageindex = this.AspNetPager1.CurrentPageIndex; this.r1.DataSource = dp.pagelist(pagesize, pageindex, tname, , xid, strsql, xid , out recordcount); this.r1.DataBind(); this.AspNetPager1.RecordCount = recordcount;分页功能的实现:分页分为真分页和假分页。真分页概念为,控件上一页需要显示多少数据,就从数据库取出并绑定多少数据,每次换页时都需要访问数据库。而假分页是,从数据库一次性取出所有数据绑定到控件上,再将所有数据根据一页显示多少条而分页18。从两者的概念上可以看出,它们的区别在于分页时从数据库读取信息的方式,真分页的效率无疑是高的,假分页在首次页面加载的时候会比较慢(如果数据量较多)。本网站在开发时选用了真分页的方式,具体代码如下:public DataSet pagelist(int pageszie, int pageindex, string tablename, string field, string keyfiled, string strwhere, string sort, out int recordcount) if (field = ) field = * ; if (strwhere = ) strwhere = 1=1 ; string strSql1 = select count(*) from + tablename + where + strwhere; Object obj = SqlHelper.ExecuteScalar(CommandType.Text, strSql1.ToString(); recordcount = obj = null ? 0 : Convert.ToInt32(obj.ToString(); if (pageindex 1) strwhere += and + keyfiled + not in (select top + pageszie * (pageindex - 1) + + keyfiled + from + tablename + where + strwhere + order by + sort + ); string strSql = select top + pageszie + + field + from + tablename + where + strwhere + order by + sort; return SqlHelper.ExecuteDataSet(CommandTyp

温馨提示

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

评论

0/150

提交评论