版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章基于XML技术的BBS随着企业信息时代的到来,BBS已经是不可缺少的一局部,它提供给人们一个发表观点、解答问题、促进交流的场所。BBS是BulletinBoardSystem的缩写,即电子公告板。它是以文字为主的界面,为广阔网友提供了一个彼此交流的空间。本章将介绍如何创立一个基于XML技术的BBS系统〔网站或应用程序〕。用户可以在该系统中发布自己的帖子,并进行讨论等。当管理员登录BBS时,当游客员登录BBS时,本章系统〔网络应用程序〕的名称为XMLBBS。12.1XML概述XML〔ExtensibleMarkupLanguage,可扩展性标志语言〕是一种简单的数据存储语言。是从标准通用标记语言〔SGML〕中简化修改出来的。使用一系列简单的标记描述数据,并且这些标记非常方便建立。虽然XML占用的空间比二进制数据要占用更多的空间,但是XML极其简单易于掌握和使用。XML与Access、Oracle、SQLServer等数据库不同。数据库一般提供了更强有力的数据存储和分析能力,如数据的索引、排序、查找、相关一致性等。而XML仅仅是展示数据,它最大的优点就是:极其简单。正因为XML极其简单,才使得任何应用程序读写XML数据非常简单。这为XML很快成为数据交换的惟一公共语言提供了重要因素。12.1.1XML文档的组成XML文档的组成比较复杂,它可以包括XML声明、元素和标记、属性、注释、处理指令等内容。1.XML声明:通常情况下,XML文档都包含一个XML声明,且该声明出现在XML文档的第一行。但是,该声明不是必须的。XML声明中可以声明文档的版本号、编码等声明。2.XML区分大小写:HTML是不区分大小写的。XML与HTML不同,它对大小写是敏感的。对于<data>和<Data>而已,它们是不一样的。12.1.2在.NET中操作XML文档.NETFramework提供了丰富的操作XML文档的类和组件,如描述文档的XmlDocument类、写XML文档的XmlTextWriter类、读XML文档的XmlTextReader类等。下面介绍使用这些类来操作XML文档的方法。12.2总体功能设计和数据库设计本小节将介绍基于XML技术的BBS系统的总体功能设计和数据库设计。本章应用程序使用了数据库WEB2ASPNET2DB,以及由XML文件组成的数据库。其中,这些XML文件都存放在应用程序的XmlDatabase文件夹下。12.2.1总体功能设计基于XML技术的BBS系统实现的主要功能如下。1.用户和角色管理功能2.版面管理功能3.帖子、回复、附件及其管理功能4.站内短信息及其管理功能5.搜索功能6.统计和排行功能12.2.2表设计应用程序XMLBBS主要包括用户、角色、版面、帖子、帖子回复、短信息、附件等数据。在此,笔者共创立了8个表〔其中,用户和角色表已经在Blog系统中介绍过,在此不再介绍〕,具体说明如下。1.版面表Board2.帖子表Title3.回复表Reply4.附件表Attachment5.短信息表Message6.短信息屏蔽表MessageShield12.3应用程序XMLBBS本小节主要介绍应用程序XMLBBS的组成,及其通用模块的设计。其中,该应用程序由Web窗体页、类文件、主题文件、资源文件等组成。通用模块包括一个名称为“模块标题〞的用户控件ModuleTitle.ascx。它存放在UserControl目录下。12.3.1应用程序XMLBBS的组成应用程序XMLBBS包含Admin、App_Code、App_Themes、Bin、Portal、XmlDatabase、UserControl目录,以及页面Default.aspx、配置文件Web.Config、全局文件Global.asax等。展开Admin、Portal目录,应用程序XMLBBS的【解决方案资源管理器】面板如图12.9和图12.10所示。上述各个目录包含的文件说明如下。Admin目录,主要包含超级管理员使用的后台管理页面,如注册新用户、用户管理等页面。12.3.2系统配置文件Web.Config应用程序XMLBBS的配置文件Web.Config放置在其的根目录下。笔者在该文件中配置了访问数据库Web2ASPNET2DB的链接字符串“datasource=localhost;userid=sa;pwd=123456;database=Web2ASPNET2DB〞和访问数据库的XML文件的链接地址;同时还配置了应用程序XMLBBS的验证方式为“Windows〞。12.3.3添加应用程序的引用文件笔者向应用程序XMLBBS添加了4个引用文件〔文件的后缀名为.dll〕。具体包括如下。。。。。12.3.4主页Default.aspx应用程序XMLBBS的主页Default.aspx特别简单。该页面在Page_Load(objectsender,EventArgse)事件实现两个功能:更新系统状态和重定向到用户登录页面UserLogin.aspx。其中,更新系统状态由函数UpdateUserStat()实现,它把系统被访问的次数加一。12.3.5通用模块设计该应用程序中的通用模块包括模板标题用户控件和搜索用户控件。其中,模板标题用户控件和应用程序RSS的通用模块相同,具体实现请参见小节。搜索用户控件由SearchUC.ascx实现,它的代码隐藏文件为。该控件添加了10个链接,12.4关键技术详解基于XML技术BBS系统使用应用程序OperateXmlDatabase来操作XML数据库。在VisualStudio2005中翻开该应用程序,其【解决资源方案管理器】面板,应用程序OperateXmlDatabase包含了两个文件:XmlDatabase.cs和DataCommon.cs。第一个文件定义了XmlDataBase类。该类定义操作XML数据库的方法,定义该类的程序代码如下。12.4.1定义操作XML数据库的参数在介绍操作XML数据库方法之前,首先介绍这些方法所使用的参数〔Paramter〕。在此,笔者把这些方法操作XML数据库时所使用的参数称为XML参数。每一个参数都被定义为XmlParamter类型。该类主要包含的属性为:Name、Value和Direction,分别表示参数的名称、值和方向。12.4.2创立操作XML数据库的参数在下述程序代码中,方法CreateParameter(stringname,stringvalue,ParameterDirectiondireciton)创立一个XML参数,即XmlParamter对象。该方法设置参数的名称、值和方向。12.4.3读取XML文件中的数据在介绍读取XML文件中的数据的方法之前,先介绍一个辅助函数。读取XML文件中的数据由方法GetData(stringpath,stringtableName)或者GetData(stringpath,stringtableName,paramsXmlParamter[]param)方法实现。其中,第一个方法没有携带XML参数列表,第二个方法在查询或检索数据可用使用XML参数列表param。参数path表示被检索数据的XML文件的链接地址;参数tableName表示被检索数据的表的名称,即XML文件根节点名称。12.4.4向XML文件中添加数据在下述程序代码中,方法AddData(stringpath,stringtableName,paramsXmlParamter[]param)向XML文件中的添加数据,并返回一个整数。该方法添加数据的具体步骤如下。〔1〕根据参数path导入被添加数据的XML文档。〔2〕根据参数TableName创立添加数据的Xpath。〔3〕检索满足XPath条件的节点,并把在该节点中添加一个子节点。〔4〕返回一个整数值。12.4.5更新XML文件中的数据在下述程序代码中,方法UpdateData(stringpath,stringtableName,paramsXmlParamter[]param)更新XML文件中的数据,并返回一个整数。该方法更新数据的具体步骤如下。〔1〕根据参数path导入被更新数据的XML文档。〔2〕根据参数TableName创立更新数据的Xpath。〔3〕检索满足XPath条件的节点,并把更新该节点。〔4〕返回一个整数值。12.4.6删除XML文件中的数据在下述程序代码中,方法DeleteData(stringpath,stringtableName,paramsXmlParamter[]param)删除XML文件中的数据,并返回一个整数。该方法删除数据的具体步骤如下。〔1〕根据参数path导入被删除数据的XML文档。〔2〕根据参数TableName创立删除数据的Xpath。〔3〕检索满足XPath条件的节点,并把删除该节点。〔4〕返回一个整数值。12.4.7快速操作XML文件中的数据应用程序OperateXmlDatabase中的DataCommon.cs文件定义了DataCommon类。该类提供快速操作XML文件中的数据的方法。这些方法的具体描述如下。〔1〕publicstaticDataTableGetDataByNoParam(stringpath,stringtableName)。〔2〕publicstaticDataTableGetDataByIDParam(stringpath,stringtableName,intidValue)。〔3〕publicstaticintDeleteDataIDParam(stringpath,stringtableName,intidValue)。12.5用户注册及其信息维护维护用户信息包括注册新用户、修改用户信息、修改用户密码和用户管理等功能。实现这些功能的页面〔如AddUser.aspx、UpdateUser.aspx等〕都保存在文件夹“Admin〞下。用户登录功能验证访问网站的用户是否为合法用户,实现该功能的页面保存在文件夹“Portal〞下。12.6站内短信息管理本小节主要介绍应用程序XMLBBS中与短信息相关的内容,如收件箱、发件箱、查看短信息、发送短信息、跟踪短信息等。12.6.1收件箱收件箱由页面BrowseMessage.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示。显示收件箱中的短信息。删除短信息。提供回复短信息的链接。提供发送新短信息的重定向按钮。12.6.2查看短信息查看短信息由页面ViewMessage.aspx实现,它的代码隐藏文件为。该页面实现功能如下:显示短信息的具体内容。显示短信息的发送者和发送时间。12.6.3发送短信息发送短信息由页面AddMessage.aspx实现,它的代码隐藏文件为。该页面实现功能如下。选择短信息的接收者。输入短信息的具体内容。发送编辑好的短信息。返回到管理页面BrowseMessage.aspx。12.6.4发件箱发件箱由页面SendMessageBox.aspx实现,它的代码隐藏文件。该页面实现功能如下。显示发件箱中的短信息。删除短信息。提供回复短信息的链接。提供跟踪已发送短信息的状态的链接。提供发送新短信息的重定向按钮。12.6.5跟踪短信息跟踪短信息由页面FollowMessage.aspx实现,它的代码隐藏文件为。该页面实现功能如下。显示短信息的具体内容。显示短信息的发送者和发送时间。显示短信息的状态。12.6.6屏蔽用户发送的短信息屏蔽用户发送的短信息由页面ShieldMessage.aspx实现,它的代码隐藏文件为。该页面实现功能如下。显示系统所有用户。显示被屏蔽的用户。添加和删除被屏蔽的用户。将用户的修改保存到数据库中。12.7论坛内容本小节主要介绍应用程序XMLBBS中与论坛根本内容相关的内容,如版面管理、新开版面、编辑版面、查看版面、发布新帖子、查看帖子、回复帖子等。12.7.1版面管理版面管理由页面BoardManage.aspx实现,它的代码隐藏文件为。该页面实现功能如下。以树型结构显示论坛的版面信息。提供添加新版面链接的按钮。提供修改版面信息链接的按钮。提供上移、下移和删除版面的功能。提供管理版面帖子链接的按钮。12.7.2新开版面新开版面由页面AddBoard.aspx实现,它的代码隐藏文件为。该页面实现功能如下。输入新版面的名称和说明信息。选择新版面所属的上级版面。添加新版面,并把新版面的信息提交到数据库中。返回到管理页面BoardManage.aspx。12.7.3编辑版面编辑版面由页面UpdateBoard.aspx实现,它的代码隐藏文件为。该页面实现功能如下。编辑版面的名称和说明信息。编辑版面所属的上级版面。把版面的修改信息保存到数据库中。返回到管理页面BoardManage.aspx。12.7.4查看版面查看版面由页面ViewBoard.aspx实现,它的代码隐藏文件为。该页面实现功能如下。以列表形式显示版面的所有帖子。提供查看论坛状态〔如当前在线人数、访问总人数等〕的链接。提供重定向到发表新帖子页面链接的按钮。12.7.5发布新帖子发布新帖子由页面AddTitle.aspx实现,它的代码隐藏文件为。该页面实现功能如下。输入新帖子的名称和内容。选择新帖子所属的版面。发布新帖子,并把新帖子的信息提交到数据库中。返回到管理页面BoardManage.aspx。12.7.6查看帖子查看帖子由页面ViewTitle.aspx实现,它的代码隐藏文件为。该页面实现功能如下。显示帖子的内容和回复内容。提供回复该帖子的链接。12.7.7回复帖子回复帖子由页面AddReply.aspx实现,它的代码隐藏文件为。该页面实现功能如下。显示被回复帖子的名称和内容。输入回复该帖子的内容。回复该帖子,并把回复内容提交到数据库;返回到查看帖子页面ViewTitle.aspx。12.7.8修改帖子属性修改帖子属性由页面UpdateTitle.aspx实现,它的代码隐藏文件为。该页面实现功能如下。显示帖子的名称、状态和内容。修改帖子的名称、状态和内容。修改帖子,并把修改后的帖子信息提交到数据库中。返回到管理页面TitleManage.aspx。12.8搜索本小节主要介绍应用程序XMLBBS中与搜索相关的功能,如基于关键字的搜索、搜索用户的帖子、基于时间的搜索等。12.8.1基于关键字的搜索基于关键字的搜索由页面SearchByKey.aspx实现,它的代码隐藏文件为。该页面实现功能如下。输入搜索关键字。根据关键字执行搜索操作,并以列表形式显示搜索结果。12.8.2搜索用户的帖子搜索用户的帖子由页面SearchByUser.aspx实现,它的代码隐藏文件为。该页面实现功能如下。指定搜索帖子的用户。根据用户执行搜索操作,并以列表形式显示搜索结果。12.8.3基于时间的搜索基于时间的搜索由页面SearchByDate.aspx实现,它的代码隐藏文件为。该页面实现功能如下。选择搜索帖子的日期或时间。根据时间执行搜索操作,并以列表形式显示搜索结果。12.9统计和排行本小节主要介绍应用程序XMLBBS中与统计和排行相关的功能,如统计帖子总数、统计帖子和回复总数、统计当日帖子总数、统计在线人数、统计访问总人数、热门帖子排行等。论坛主页提供了上述统计和排行的链接,12.9.1统计帖子总数页面StatTitleTotal.aspx统计帖子总数。它的事件Page_Load(objectsender,EventArgse)从数据库中获取帖子总数,并显示在页面上。12.9.2统计帖子和回复的总数页面StatTitleReplyTotal.aspx统计帖子和回复的总数。它的事件Page_Load(objectsender,EventArgse)从数据库中获取帖子和回复的总数,并显示在页面上。12.9.3统计当日帖子总数页面StatTitleDay.aspx统计当日帖子总数。它的事件Page_Load(objectsender,EventArgse)从数据库中获取当日帖子总数,并显示在页面上。12.9.4统计在线人数统计在线人数的功能在Global.asax文件中实现。该文件定义了下面3个事件。〔1〕Application_Start(objectsender,EventArgse)。〔2〕Session_Start(objectsender,EventArgse)。〔3〕Session_End(objectsender,EventArgse)。12.9.5统计访问总人数页面StatTotalUser.aspx统计访问总人数。它的事件Page_Load(objectsender,EventArgse)从数据库中获取访问总人数,并显示在页面上。12.9.6热门帖子排行热门帖子排行由页面ViewHotTitle.aspx实现,它的代码隐藏文件为。该页面按照帖子被访问的次数,以倒序方式显示系统中所有的帖子。12.9.7热门回复帖子排行热门回复帖子排行由页面AnswerHotTitle.aspx实现,它的代码隐藏文件为。该页面按照帖子回复次数,以倒序方式显示系统中所有的帖子。第13章基于AJAX技术的邮件系统AJAX技术的开展越来越快,它提供了异步处理Web页面〔浏览器〕和效劳器交互的功能。浏览器不需要将整个页面提交到效劳器,就能够实现页面的局部更新。并且在这一个与效劳器交互过程中,用户不会感觉到页面被刷新。微软公司在ASP.NET2.0之上也推出了AJAX技术,即ASP.NETAJAX技术。本章将介绍创立一个基于ASP.NETAJAX技术的邮件系统。用户可以在无刷新的Web环境使用该邮件系统。13.1什么是ASP.NETAJAXASP.NETAJAX技术被整合在ASP.NET2.0之中,是ASP.NET的一种扩展技术。它可以使得用户在开发ASP.NET应用程序时,将Web效劳器控件和客户端脚本结合起来,并在此根底上实现了页面的局部更新,防止了刷新整个页面。13.1.1ASP.NETAjax概述ASP.NETAJAX技术提供了处理ECMAScript〔javascript〕和动态HTML〔DHTML〕的脚本库,使得用户可以从客户端脚本调用基于Web的应用程序或组件。ASP.NETAJAX最显著的功能就是:当浏览器与效劳器交互时,它可以将浏览器中的一局部内容呈现出来,从而防止了将整个页面提交到效劳器。和传统的Web应用程序相比,ASP.NETAJAXWeb应用程序具有以下优点:页面能够局部更新;异步回传,将页面处理的逻辑与用户的操作进行异步处理;13.1.2安装ASP.NETAJAXASP.NETAJAX是免费的,它可以从微软ASP.NET的官方网站〔://〕下载。在此,笔者下载了ASP.NETAJAXv1.0。在安装ASP.NETAJAX之前,必须要求安装.NETFramework2.0或更高版本、IE5.01或更高版本。操作系统可以为Windows家族〔如WindowsServer2003、WindowsXPHome、WindowsXPProfessional、WindowsVista等〕。下面介绍在笔者机器〔配置为Windows2003Server和.NETFramework3.0〕上安装ASP.NETAJAXv1.0的具体步骤如下。13.1.3创立第一个ASP.NETAJAX网络应用程序本小节介绍创立第一个ASP.NETAJAX网络应用程序,名称为Sample_13_01。在VisualStudio2005集成开发环境中,单击【创立】|【网站】链接,弹出【新建网站】对话框,并选中【ASP.NETAJAX-EnabledWebSite】图标,如图13.8所示。13.1.4ASP.NETAJAX网络应用程序的配置文件在ASP.NETAJAX网络应用程序Sample_13_01中,系统提供了配置文件Web.Config。但是,该配置文件的内容和普通ASP.NET网络应用程序的配置文件的内容不相同。下面将详细介绍该配置文件。1.注册了ASP.NETAJAX的程序集或组件2.增加<system.web>元素的配置3.增加<system.webServer>元素的配置13.1.5管理Web窗体页的脚本ScriptManager控件又称为脚本管理控件,管理Web窗体页上的脚本和AJAX控件。这些脚本能够支持页面局部更新,而且还能够生成客户端代理脚本。新生成的脚本与Web窗体页访问的效劳器相关。注意:如果要在某一个Web窗体页上使用AJAXWeb效劳器控件,那么该Web窗体页必须放置且只能放置一个ScriptManager控件。13.1.6提供无刷新的Web窗体页环境在ASP.NETAJAX网络应用程序中,ScriptManager和UpdatePanel控件一起提供了无刷新的Web窗体页环境。UpdatePanel控件能够将自动或在给定条件下更新其区域中的数据,并且把这种更新操作隐藏在Web窗体页的背后,即用户不会感觉到这一更新操作〔用户不会感觉到该页面被刷新〕。UpdatePanel控件提供了8个属性和一个方法。13.1.7使用Timer控件定时更新页面应用程序Sample_13_01中的页面TimerCtrl.aspx使用了ASP.NETAJAX的Timer控件实现了定时更新Web窗体页的功能。下面介绍该页面的具体实现。在页面TimerCtrl.aspx中添加了一个ScriptManager控件、一个UpdatePanel控件、一个Label控件、一个DropDownList控件、一个Timer控件和一个SqlDataSource控件。它们的ID属性的值分别为smForm、upForm、lbUsername、ddlUser、tUser、sqlDSUser。13.1.8显示Web窗体页更新进度应用程序Sample_13_01中的页面WebPageProgress.aspx使用了ASP.NETAJAX的UpdateProgress控件显示Web窗体页更新进度的功能。下面介绍该页面的具体实现。在页面WebPageProgress.aspx中添加了一个ScriptManager控件、一个UpdatePanel控件、一个UpdateProgress控件和一个Button控件。它们的ID属性的值分别为smForm、upForm、progressCtrl和btnClick。13.2总体功能设计和数据库设计本小节将介绍基于ASP.NETAJAX技术的邮件系统的总体功能设计和数据库设计,以及数据库中各个表之间的关系设计。13.2.1总体功能设计应用程序ASPNET2AjaxMail实现的主要功能如下:1.用户和角色管理功能2.邮件系统及其管理功能3.通讯录及其管理功能4.邮件标签和过滤器及其管理功能5.邮件平台13.2.2表设计应用程序ASPNET2AjaxMail主要包括用户、角色、邮件文件夹、邮件、邮件标签、邮件过滤器、组、联系人等数据。在此,笔者共创立了10个表〔其中,用户和角色表已经在Blog系统中介绍过,在此不再介绍〕,它们的具体说明如下。1.邮件文件夹表AjaxFolder2.邮件表AjaxMail3.邮件附件表AjaxAttachment4.过滤器表AjaxFilter5.过滤器邮件关系表AjaxFilterMail6.标签表AjaxTag7.标签表AjaxTagMail8.用户组表AjaxGroup9.联系人表AjaxLinkman10.邮件系统配置表AjaxSystemConfig13.2.3表关系设计应用程序ASPNET2AjaxMail的数据库比较简单,各个表之间的关系如图13.19所示。其中,邮件表AjaxMail引用邮件文件夹表AjaxFolder的ID字段作为外键;联系人表AjaxLinkman引用用户组表AjaxGroup的ID字段作为外键;邮件表AjaxMail和过滤器表AjaxFilter、标签表AjaxTag形成多对多的关系;邮件附件表AjaxAttachment引用邮件表AjaxMail的ID字段作为外键。13.3应用程序ASPNET2AjaxMail本小节主要介绍应用程序ASPNET2AjaxMail的组成,及其通用模块的设计。其中,该应用程序由Web窗体页、类文件、主题文件、资源文件等组成。通用模块包括一个名称为“模块标题〞的用户控件ModuleTitle.ascx。它存放在UserControl目录下。13.3.1应用程序ASPNET2AjaxMail的组成应用程序ASPNET2AjaxMail包含Admin、App_Code、App_Themes、Bin、Filter、Mail、Portal、UserControl目录,以及页面Default.aspx、配置文件Web.Config、全局文件Global.asax等。展开Admin、Portal、Filter和Mail目录,在【解决方案资源管理器】面板中查看应用程序ASPNET2AjaxMail,13.3.2系统配置文件Web.Config应用程序ASPNET2AjaxMail的配置文件Web.Config放置在其的根目录下。笔者在该文件中配置了访问数据库Web2ASPNET2DB的链接字符串“datasource=localhost;userid=sa;pwd=123456;database=Web2ASPNET2DB〞;同时还配置了应用程序ASPNET2AjaxMail的验证方式为“Windows〞。13.3.3添加应用程序的引用文件笔者向应用程序ASPNET2AjaxMail添加了3个引用文件〔文件的后缀名为.dll〕。它们具体为:;;。13.3.4主页Default.aspx应用程序ASPNET2AjaxMail的主页Default.aspx特别简单。该页面在Page_Load(objectsender,EventArgse)事件中重定向到用户登录页面UserLogin.aspx。程序代码如下:protectedvoidPage_Load(objectsender,EventArgse){Response.Redirect("~/Portal/UserLogin.aspx");///重定向到登录页面}13.3.5通用模块设计该应用程序中的通用模块只包括模块标题用户模块,它的实现方法和应用程序RSS中的通用模块相同。读者可以参考小节。13.3.6邮件系统初始化应用程序ASPNET2AjaxMail在全局文件Global.asax中初始化整个系统。该初始化操作由Session对象的Session_Start(objectsender,EventArgse)事件实现。该事件从数据库中获取邮件系统的效劳器的IP地址和端口,并把IP地址和端口保存到Application变量中。13.3.7数据访问层设计在应用程序ASPNET2AjaxMail的数据访问层中,笔者定义了与操作邮件相关内容〔如邮件、邮件附件等〕的类Mail。类Mail定义了以下11个方法:publicSqlDataReaderGetMailProfile(),获取邮件效劳器的配置;publicDataSetGetMails(),获取所有邮件;publicDataSetGetMailsByFloder(intfolderID),根据指定的文件夹获取邮件;13.4关键技术详解本小节主要介绍应用程序ASPNET2AjaxMail的关键技术,如给邮件贴标签、配置邮件效劳器、使用过滤器搜索邮件、搜索联系人、发送邮件等。13.4.1给邮件贴标签在发件箱页面ViewMail.aspx中,用户选中将被标记的邮件,并单击【标记选择的邮件】按钮,那么可以给选定的邮件贴标签。上述功能由【标记选择的邮件】按钮的Click事件实现,13.4.2配置邮件效劳器配置邮件效劳器由页面SystemConfig.aspx实现,它的代码隐藏文件为。该页面功能如下所示:输入效劳器的IP地址和端口;将效劳器的IP地址和端口保存到数据库中。13.4.3使用过滤器搜索邮件使用过滤器搜索邮件由页面FilterMail.aspx实现,它的代码隐藏文件为。该页面根据过滤器从数据库中检索符合过去过滤器的邮件。13.4.4搜索联系人搜索联系人由页面SearchLinkman.aspx实现,代码隐藏文件为。该页面实现功能如下所示:输入搜索联系人的关键字;执行搜索功能;以表格形式显示搜索结果。13.4.5发送邮件发送邮件功能由页面SenderMail.aspx实现。发送邮件的过程比较复杂,下面介绍发送邮件的具体步骤。〔1〕创立新邮件,添加发件人和收件人地址。13.5用户注册及其信息维护用户注册及其信息维护功能包括注册新用户、修改用户信息、修改用户密码和用户管理等功能。实现这些功能的页面〔如AddUser.aspx、UpdateUser.aspx等〕都保存在文件夹“Admin〞下。用户登录功能验证访问网站的用户是否为合法用户,实现该功能的页面保存在文件夹“Portal〞下。13.6邮件管理本小节主要介绍基于ASP.NETAJAX技术的邮件系统中与邮件相关的操作和管理,如发件箱、读邮件、发送邮件等。13.6.1发件箱发件箱由页面ViewMail.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:以表格形式显示用户发送的邮件;选中一行或多行,即选中一封邮件或多封邮件。执行标记邮件的功能。其中,该功能已经在小节详细介绍过。13.6.2读邮件读邮件由页面ReaderMail.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:显示邮件的收件人、抄送、主题、内容、格式等信息;以列表形式显示邮件的附件;回复当前邮件;返回到发件箱ViewMail.aspx。13.6.3发送邮件发送邮件由页面SenderMail.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:输入新目录的名称和备注信息;选择新目录所属的上级目录;添加新目录的功能,并把新目录的信息提交到数据库中;返回到管理页面ViewDirectoryByList.aspx。13.7邮件标签及其管理本小节主要介绍基于ASP.NETAJAX技术的邮件系统中与邮件标签相关的操作和管理,如添加新标签、编辑标签属性、标签管理等。13.7.1操作通讯录的数据访问层设计操作邮件标签的数据访问层由类Tag实现。它定义了添加、修改、检索、删除邮件标签的方法,具体如下:publicDataSetGetTagsDS(),获取所有标签,并用DataSet对象保存结果;publicSqlDataReaderGetTags(),获取所有标签,并用户SqlDataReader对象读取结果;publicSqlDataReaderGetSingleTag(inttagID),获取单个标签;publicintAddTag(stringname),添加新的标签;13.7.2添加新标签添加新标签由页面AddTag.aspx实现,它的代码隐藏文件为。该页面实现下面三个功能:输入新标签的名称;添加新标签,并把新标签的信息提交到数据库中;返回到标签管理页面TagManage.aspx。13.7.3编辑标签属性编辑标签属性由页面UpdateTag.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:修改标签的名称;修改标签,并把修改后的标签信息提交到数据库中;返回到管理页面TagManage.aspx。13.7.4按时间顺序显示标签及其会话数量按时间顺序显示标签及其会话数量,实际上是标签关联功能。它页面TagManage.aspx实现,它的代码隐藏文件为。该页面实现下面6个功能:以列表形式显示标签;显示标签的会话数量;按标签的创立时间的顺序显示标签;提供重定向到添加新标签页面的按钮;13.8通讯录本小节主要介绍基于ASP.NETAJAX技术的邮件系统中与通讯录相关的操作和管理,如添加组、编辑组的属性、组管理、添加组内联系人、移动联系人等。13.8.1操作通讯录的数据访问层设计操作通讯录的数据访问层由类Group和Linkman实现。它们定义了添加、修改、检索、删除通讯录中的信息〔如组和联系人〕的方法,具体如下:publicDataSetGetGroupsDS(),获取所有组,并使用DataSet对象保存结果;publicSqlDataReaderGetGroups(),获取所有组,并使用SqlDataReader读取结果;publicSqlDataReaderGetSingleGroup(intgroupID),获取单个组;13.8.2添加组添加组由页面AddGroup.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:输入新组的名称;添加新组,并把新组的信息提交到数据库中;返回到组管理页面GroupManage.aspx。13.8.3编辑组的属性编辑组的属性由页面UpdateGroup.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:编辑组的名称;修改组,并把修改后的组的信息提交到数据库中;返回到组管理页面GroupManage.aspx。13.8.4组管理组管理由页面GroupManage.aspx实现,它的代码隐藏文件为。该页面实现下面4个功能:以列表形式显示组的信息;显示每一个组包含成员的数量;提供重定向到管理组的联系人页面、修改组页面的按钮;提供删除组的功能。13.8.5添加联系人添加联系人由页面AddLinkman.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:输入新联系人的名称和电子邮件;选择新联系人所属的组;添加新联系人能,并把新联系人的信息提交到数据库中;返回到联系人管理页面GroupLinkmanManage.aspx。13.8.6编辑联系人的属性编辑联系人的属性由页面UpdateLinkman.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:编辑联系人的名称和电子邮件;修改联系人,并把修改后的联系人信息提交到数据库中;返回到联系人管理页面GroupLinkmanManage.aspx。13.8.7组内联系人管理组内联系人管理由页面GroupLinkmanManage.aspx实现,它的代码隐藏文件为。该页面实现下面4个功能:以列表形式显示组内的联系人信息;提供重定向到移动联系人页面、修改联系人属性页面的按钮;提供删除联系人的功能;提供重定向到添加新联系人页面的按钮。13.8.8移动联系人移动联系人由页面MoveLinkman.aspx实现,它的代码隐藏文件为。该页面实现功能如下:显示被移动联系人的名称、电子邮件,以及所属组;移动联系人,并将移动后的信息保存到数据库中;返回到联系人管理页面GroupLinkmanManage.aspx。13.9邮件过滤器本小节主要介绍基于ASP.NETAJAX技术的邮件系统中与邮件过滤器相关的操作和管理,如添加过滤器、修改正滤器、过滤器管理等。13.9.1操作过滤器的数据访问层设计操作过滤器的数据访问层由类Filter实现。它定义了添加、修改、检索、删除过滤器的方法,具体如下:publicDataSetGetFilters(),获取所有过滤器;publicSqlDataReaderGetSingleFilter(intfilterID),获取单个过滤器;publicintAddFilter(stringkey,byteflag),创立新的过滤器;publicintUpdateFilter(intfilterID,stringkey),修改正滤器;publicintDeleteFilter(intfilterID),删除过滤器。13.9.2添加过滤器添加过滤器由页面KeyFilter.aspx实现,它的代码隐藏文件为。该页面实现下面四个功能:输入新过滤器的关键字;选择新过滤器的过滤类型;添加新过滤器,并把新过滤器的信息提交到数据库中;返回到过滤器管理页面FilterManage.aspx。13.9.3修改正滤器修改正滤器由页面UpdateFilter.aspx实现,它的代码隐藏文件为。该页面实现功能如下所示:修改正滤器的关键字,并把修改后过滤器信息提交到数据库中;返回到过滤器管理页面FilterManage.aspx。13.9.4过滤器管理过滤器管理由页面FilterManage.aspx实现,它的代码隐藏文件为。该页面实现下面4个功能:以列表形式显示过滤器的信息;提供重定向到修改正滤器属性页面的按钮;提供删除过滤器的功能;提供重定向到添加新过滤器页面的按钮。第14章安装和发布Web2.0网络应用程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年及未来5年中国碱性锌锰电池行业市场运行现状及投资战略研究报告
- 建筑监理安全技术交底范文
- 大学生创业创新项目策划指南
- 现代仓储物流系统设计与优化
- 尊师重教教师节主题演讲稿
- 机械设备采购合同标准范文
- 水泥地面盖楼房施工方案
- 无尘车间规划与施工方案
- 步帆防水喷涂机施工方案
- 悬浮剂混凝土施工方案
- 2024年人教PEP版小学三年级下册英语教学计划及进度表(三年级起点)
- 2025年6月16日更新的第34批REACH250项高度关注物质SVHC清单
- 2025税务师考试《税法二》常用税率
- 2025年(完整版)全国高考一卷数学试题及答案
- 读书分享成品-绿色卡通风假如给我三天光明好书分享模板课件
- 小学教育中的教育惩戒问题及对策研究
- 肿瘤干细胞课件
- 高警示药物培训课件
- 江苏省苏州市2024-2025学年高二上学期期中考试地理试卷(含答案)
- 车载氛围灯培训课件
- 办公楼弱电施工方案
评论
0/150
提交评论