精通ASP.NET2.0的Web2.0 电子教程(下)课件

上传人:阳*** 文档编号:111887526 上传时间:2022-06-21 格式:PPT 页数:113 大小:1.10MB
收藏 版权申诉 举报 下载
精通ASP.NET2.0的Web2.0 电子教程(下)课件_第1页
第1页 / 共113页
精通ASP.NET2.0的Web2.0 电子教程(下)课件_第2页
第2页 / 共113页
精通ASP.NET2.0的Web2.0 电子教程(下)课件_第3页
第3页 / 共113页
资源描述:

《精通ASP.NET2.0的Web2.0 电子教程(下)课件》由会员分享,可在线阅读,更多相关《精通ASP.NET2.0的Web2.0 电子教程(下)课件(113页珍藏版)》请在装配图网上搜索。

1、第12章 基于XML技术的BBSl随着企业信息时代的到来,BBS已经是不可缺少的一部分,它提供给人们一个发表观点、解答问题、促进交流的场所。BBS是Bulletin Board System的缩写,即电子公告板。它是以文字为主的界面,为广大网友提供了一个彼此交流的空间。l本章将介绍如何创建一个基于XML技术的BBS系统(网站或应用程序)。用户可以在该系统中发布自己的帖子,并进行讨论等。当管理员登录BBS时,当游客员登录BBS时,本章系统(网络应用程序)的名称为XMLBBS。12.1 XML概述lXML(Extensible Markup Language,可扩展性标志语言)是一种简单的数据存储

2、语言。是从标准通用标记语言(SGML)中简化修改出来的。使用一系列简单的标记描述数据,并且这些标记非常方便建立。虽然XML占用的空间比二进制数据要占用更多的空间,但是XML极其简单易于掌握和使用。lXML与Access、Oracle、SQL Server等数据库不同。数据库一般提供了更强有力的数据存储和分析能力,如数据的索引、排序、查找、相关一致性等。而XML仅仅是展示数据,它最大的优点就是:极其简单。正因为XML极其简单,才使得任何应用程序读写XML数据非常简单。这为XML很快成为数据交换的惟一公共语言提供了重要因素。12.1.1 XML文档的组成lXML文档的组成比较复杂,它可以包括XML

3、声明、元素和标记、属性、注释、处理指令等内容。l1XML声明:通常情况下,XML文档都包含一个XML声明,且该声明出现在XML文档的第一行。但是,该声明不是必须的。XML声明中可以声明文档的版本号、编码等声明。l2XML区分大小写:HTML是不区分大小写的。XML与HTML不同,它对大小写是敏感的。对于和而已,它们是不一样的。12.1.2 在.NET中操作XML文档l.NET Framework提供了丰富的操作XML文档的类和组件,如描述文档的XmlDocument类、写XML文档的XmlTextWriter类、读XML文档的XmlTextReader类等。下面介绍使用这些类来操作XML文档的

4、方法。12.2 总体功能设计和数据库设计l本小节将介绍基于XML技术的BBS系统的总体功能设计和数据库设计。本章应用程序使用了数据库WEB2ASPNET2DB,以及由XML文件组成的数据库。其中,这些XML文件都存放在应用程序的XmlDatabase文件夹下。12.2.1 总体功能设计l基于XML技术的BBS系统实现的主要功能如下。l1用户和角色管理功能l2版面管理功能l3帖子、回复、附件及其管理功能l4站内短信息及其管理功能l5搜索功能l6统计和排行功能12.2.2 表设计l应用程序XMLBBS主要包括用户、角色、版面、帖子、帖子回复、短信息、附件等数据。在此,笔者共创建了8个表(其中,用户

5、和角色表已经在Blog系统中介绍过,在此不再介绍),具体说明如下。l1版面表Board 2帖子表Title 3回复表Reply 4附件表Attachment 5短信息表Message 6短信息屏蔽表MessageShield12.3 应用程序XMLBBSl本小节主要介绍应用程序XMLBBS的组成,及其通用模块的设计。其中,该应用程序由Web窗体页、类文件、主题文件、资源文件等组成。通用模块包括一个名称为“模块标题”的用户控件ModuleTitle.ascx。它存放在UserControl目录下。12.3.1 应用程序XMLBBS的组成l应用程序XMLBBS包含Admin、App_Code、Ap

6、p_Themes、Bin、Portal、XmlDatabase、UserControl目录,以及页面Default.aspx、配置文件Web.Config、全局文件Global.asax等。展开Admin、Portal目录,应用程序XMLBBS的【解决方案资源管理器】面板如图12.9和图12.10所示。上述各个目录包含的文件说明如下。lAdmin目录,主要包含超级管理员使用的后台管理页面,如注册新用户、用户管理等页面。12.3.2 系统配置文件Web.Configl应用程序XMLBBS的配置文件Web.Config放置在其的根目录下。笔者在该文件中配置了访问数据库Web2ASPNET2DB的链

7、接字符串“data source=localhost;userid=sa;pwd=123456; database=Web2ASPNET2DB”和访问数据库的XML文件的链接地址;同时还配置了应用程序XMLBBS的验证方式为“Windows”。12.3.3 添加应用程序的引用文件l笔者向应用程序XMLBBS添加了4个引用文件(文件的后缀名为.dll)。具体包括如下。lWeb2ASPNET2.CommonOperation.dll。lWeb2ASPNET2.OperateSqlServer.dll。lWeb2ASPNET2.UserCommonOperation.dll。lWeb2ASPNET2

8、.OperateXmlDatabase.dll。12.3.4 主页Default.aspxl应用程序XMLBBS的主页Default.aspx特别简单。该页面在Page_Load(object sender, EventArgs e)事件实现两个功能:更新系统状态和重定向到用户登录页面UserLogin.aspx。l其中,更新系统状态由函数UpdateUserStat()实现,它把系统被访问的次数加一。12.3.5 通用模块设计l该应用程序中的通用模块包括模板标题用户控件和搜索用户控件。其中,模板标题用户控件和应用程序RSS的通用模块相同,具体实现请参见8.3.5小节。l搜索用户控件由Sear

9、chUC.ascx实现,它的代码隐藏文件为SearchUC.ascx.cs。该控件添加了10个链接,12.4 关键技术详解l基于XML技术BBS系统使用应用程序OperateXmlDatabase来操作XML数据库。在Visual Studio 2005中打开该应用程序,其【解决资源方案管理器】面板,应用程序OperateXmlDatabase包含了两个文件:XmlDatabase.cs和DataCommon.cs。第一个文件定义了XmlDataBase类。该类定义操作XML数据库的方法,定义该类的程序代码如下。12.4.1 定义操作XML数据库的参数l在介绍操作XML数据库方法之前,首先介绍

10、这些方法所使用的参数(Paramter)。在此,笔者把这些方法操作XML数据库时所使用的参数称为XML参数。每一个参数都被定义为XmlParamter类型。该类主要包含的属性为:Name、Value和Direction,分别表示参数的名称、值和方向。12.4.2 创建操作XML数据库的参数l在下述程序代码中,方法CreateParameter(string name,string value,ParameterDirection direciton)创建一个XML参数,即XmlParamter对象。该方法设置参数的名称、值和方向。12.4.3 读取XML文件中的数据l在介绍读取XML文件中的数

11、据的方法之前,先介绍一个辅助函数。l读取XML文件中的数据由方法GetData(string path,string tableName)或者GetData(string path,string tableName,params XmlParamter param)方法实现。其中,第一个方法没有携带XML参数列表,第二个方法在查询或检索数据可用使用XML参数列表param。参数path表示被检索数据的XML文件的链接地址;参数tableName表示被检索数据的表的名称,即XML文件根节点名称。12.4.4 向XML文件中添加数据l在下述程序代码中,方法AddData(string path,s

12、tring tableName,params XmlParamter param)向XML文件中的添加数据,并返回一个整数。该方法添加数据的具体步骤如下。l(1)根据参数path导入被添加数据的XML文档。l(2)根据参数TableName创建添加数据的Xpath。l(3)检索满足XPath条件的节点,并把在该节点中添加一个子节点。l(4)返回一个整数值。12.4.5 更新XML文件中的数据l在下述程序代码中,方法UpdateData(string path,string tableName,params XmlParamter param)更新XML文件中的数据,并返回一个整数。该方法更新数

13、据的具体步骤如下。l(1)根据参数path导入被更新数据的XML文档。l(2)根据参数TableName创建更新数据的Xpath。l(3)检索满足XPath条件的节点,并把更新该节点。l(4)返回一个整数值。12.4.6 删除XML文件中的数据l在下述程序代码中,方法DeleteData(string path,string tableName,params XmlParamterparam)删除XML文件中的数据,并返回一个整数。该方法删除数据的具体步骤如下。l(1)根据参数path导入被删除数据的XML文档。l(2)根据参数TableName创建删除数据的Xpath。l(3)检索满足XPa

14、th条件的节点,并把删除该节点。l(4)返回一个整数值。12.4.7 快速操作XML文件中的数据l应用程序OperateXmlDatabase中的DataCommon.cs文件定义了DataCommon类。该类提供快速操作XML文件中的数据的方法。这些方法的具体描述如下。l(1)public static DataTable GetDataByNoParam(string path,string tableName)。l(2)public static DataTable GetDataByIDParam(string path,string tableName,int idValue)。l(

15、3)public static int DeleteDataIDParam(string path,string tableName,int idValue)。12.5 用户注册及其信息维护l维护用户信息包括注册新用户、修改用户信息、修改用户密码和用户管理等功能。实现这些功能的页面(如AddUser.aspx、UpdateUser.aspx等)都保存在文件夹“Admin”下。用户登录功能验证访问网站的用户是否为合法用户,实现该功能的页面保存在文件夹“Portal”下。12.6 站内短信息管理l本小节主要介绍应用程序XMLBBS中与短信息相关的内容,如收件箱、发件箱、查看短信息、发送短信息、跟踪

16、短信息等。12.6.1 收件箱l收件箱由页面BrowseMessage.aspx实现,它的代码隐藏文件为BrowseMessage.aspx.cs。该页面实现功能如下所示。l显示收件箱中的短信息。l删除短信息。l提供回复短信息的链接。l提供发送新短信息的重定向按钮。12.6.2 查看短信息l查看短信息由页面ViewMessage.aspx实现,它的代码隐藏文件为ViewMessage.aspx.cs。该页面实现功能如下:l显示短信息的具体内容。l显示短信息的发送者和发送时间。12.6.3 发送短信息l发送短信息由页面AddMessage.aspx实现,它的代码隐藏文件为AddMessage.a

17、spx.cs。该页面实现功能如下。l选择短信息的接收者。l输入短信息的具体内容。l发送编辑好的短信息。l返回到管理页面BrowseMessage.aspx。12.6.4 发件箱l发件箱由页面SendMessageBox.aspx实现,它的代码隐藏文件SendMessageBox.aspx.cs。该页面实现功能如下。l显示发件箱中的短信息。l删除短信息。l提供回复短信息的链接。l提供跟踪已发送短信息的状态的链接。l提供发送新短信息的重定向按钮。12.6.5 跟踪短信息l跟踪短信息由页面FollowMessage.aspx实现,它的代码隐藏文件为FollowMessage.aspx.cs。该页面实

18、现功能如下。l显示短信息的具体内容。l显示短信息的发送者和发送时间。l显示短信息的状态。12.6.6 屏蔽用户发送的短信息l屏蔽用户发送的短信息由页面ShieldMessage.aspx实现,它的代码隐藏文件为ShieldMessage.aspx.cs。该页面实现功能如下。l显示系统所有用户。l显示被屏蔽的用户。l添加和删除被屏蔽的用户。l将用户的修改保存到数据库中。12.7 论坛内容l本小节主要介绍应用程序XMLBBS中与论坛基本内容相关的内容,如版面管理、新开版面、编辑版面、查看版面、发布新帖子、查看帖子、回复帖子等。12.7.1 版面管理l版面管理由页面BoardManage.aspx实

19、现,它的代码隐藏文件为BoardManage.aspx.cs。该页面实现功能如下。l以树型结构显示论坛的版面信息。l提供添加新版面链接的按钮。l提供修改版面信息链接的按钮。l提供上移、下移和删除版面的功能。l提供管理版面帖子链接的按钮。12.7.2 新开版面l新开版面由页面AddBoard.aspx实现,它的代码隐藏文件为AddBoard.aspx.cs。该页面实现功能如下。l输入新版面的名称和说明信息。l选择新版面所属的上级版面。l添加新版面,并把新版面的信息提交到数据库中。l返回到管理页面BoardManage.aspx。12.7.3 编辑版面l编辑版面由页面UpdateBoard.asp

20、x实现,它的代码隐藏文件为UpdateBoard.aspx.cs。该页面实现功能如下。l编辑版面的名称和说明信息。l编辑版面所属的上级版面。l把版面的修改信息保存到数据库中。l返回到管理页面BoardManage.aspx。12.7.4 查看版面l查看版面由页面ViewBoard.aspx实现,它的代码隐藏文件为ViewBoard.aspx.cs。该页面实现功能如下。l以列表形式显示版面的所有帖子。l提供查看论坛状态(如当前在线人数、访问总人数等)的链接。l提供重定向到发表新帖子页面链接的按钮。12.7.5 发布新帖子l发布新帖子由页面AddTitle.aspx实现,它的代码隐藏文件为AddT

21、itle.aspx.cs。该页面实现功能如下。l输入新帖子的名称和内容。l选择新帖子所属的版面。l发布新帖子,并把新帖子的信息提交到数据库中。l返回到管理页面BoardManage.aspx。12.7.6 查看帖子l查看帖子由页面ViewTitle.aspx实现,它的代码隐藏文件为ViewTitle.aspx.cs。该页面实现功能如下。l显示帖子的内容和回复内容。l提供回复该帖子的链接。12.7.7 回复帖子l回复帖子由页面AddReply.aspx实现,它的代码隐藏文件为AddReply.aspx.cs。该页面实现功能如下。l显示被回复帖子的名称和内容。l输入回复该帖子的内容。l回复该帖子,

22、并把回复内容提交到数据库;l返回到查看帖子页面ViewTitle.aspx。12.7.8 修改帖子属性l修改帖子属性由页面UpdateTitle.aspx实现,它的代码隐藏文件为UpdateTitle.aspx.cs。该页面实现功能如下。l显示帖子的名称、状态和内容。l修改帖子的名称、状态和内容。l修改帖子,并把修改后的帖子信息提交到数据库中。l返回到管理页面TitleManage.aspx。12.8 搜索l本小节主要介绍应用程序XMLBBS中与搜索相关的功能,如基于关键字的搜索、搜索用户的帖子、基于时间的搜索等。12.8.1 基于关键字的搜索l基于关键字的搜索由页面SearchByKey.a

23、spx实现,它的代码隐藏文件为SearchByKey.aspx.cs。该页面实现功能如下。l输入搜索关键字。l根据关键字执行搜索操作,并以列表形式显示搜索结果。12.8.2 搜索用户的帖子l搜索用户的帖子由页面SearchByUser.aspx实现,它的代码隐藏文件为SearchByUser.aspx.cs。该页面实现功能如下。l指定搜索帖子的用户。l根据用户执行搜索操作,并以列表形式显示搜索结果。12.8.3 基于时间的搜索l基于时间的搜索由页面SearchByDate.aspx实现,它的代码隐藏文件为SearchByDate.aspx.cs。该页面实现功能如下。l选择搜索帖子的日期或时间。

24、l根据时间执行搜索操作,并以列表形式显示搜索结果。12.9 统计和排行l本小节主要介绍应用程序XMLBBS中与统计和排行相关的功能,如统计帖子总数、统计帖子和回复总数、统计当日帖子总数、统计在线人数、统计访问总人数、热门帖子排行等。论坛主页提供了上述统计和排行的链接,12.9.1 统计帖子总数l页面StatTitleTotal.aspx统计帖子总数。它的事件Page_Load(object sender,EventArgs e)从数据库中获取帖子总数,并显示在页面上。12.9.2 统计帖子和回复的总数l页面StatTitleReplyTotal.aspx统计帖子和回复的总数。它的事件Page_

25、Load(object sender,EventArgs e)从数据库中获取帖子和回复的总数,并显示在页面上。12.9.3 统计当日帖子总数l页面StatTitleDay.aspx统计当日帖子总数。它的事件Page_Load(object sender,EventArgs e)从数据库中获取当日帖子总数,并显示在页面上。12.9.4 统计在线人数l统计在线人数的功能在Global.asax文件中实现。该文件定义了下面3个事件。l(1)Application_Start(object sender, EventArgs e)。l(2)Session_Start(object sender, Ev

26、entArgs e)。l(3)Session_End(object sender, EventArgs e)。12.9.5 统计访问总人数l页面StatTotalUser.aspx统计访问总人数。它的事件Page_Load(object sender,EventArgs e)从数据库中获取访问总人数,并显示在页面上。12.9.6 热门帖子排行l热门帖子排行由页面ViewHotTitle.aspx实现,它的代码隐藏文件为ViewHotTitle.aspx.cs。该页面按照帖子被访问的次数,以倒序方式显示系统中所有的帖子。12.9.7 热门回复帖子排行l热门回复帖子排行由页面AnswerHotTi

27、tle.aspx实现,它的代码隐藏文件为AnswerHotTitle.aspx.cs。该页面按照帖子回复次数,以倒序方式显示系统中所有的帖子。第13章 基于AJAX技术的邮件系统lAJAX技术的发展越来越快,它提供了异步处理Web页面(浏览器)和服务器交互的功能。浏览器不需要将整个页面提交到服务器,就能够实现页面的部分更新。并且在这一个与服务器交互过程中,用户不会感觉到页面被刷新。微软公司在ASP.NET 2.0之上也推出了AJAX技术,即ASP.NET AJAX技术。本章将介绍创建一个基于ASP.NET AJAX技术的邮件系统。用户可以在无刷新的Web环境使用该邮件系统。13.1 什么是AS

28、P.NET AJAXlASP.NET AJAX技术被整合在ASP.NET 2.0之中,是ASP.NET的一种扩展技术。它可以使得用户在开发ASP.NET应用程序时,将Web服务器控件和客户端脚本结合起来,并在此基础上实现了页面的局部更新,避免了刷新整个页面。13.1.1 ASP.NET Ajax概述lASP.NET AJAX技术提供了处理ECMAScript(javascript)和动态HTML(DHTML)的脚本库,使得用户可以从客户端脚本调用基于Web的应用程序或组件。ASP.NET AJAX最显著的功能就是:当浏览器与服务器交互时,它可以将浏览器中的一部分内容呈现出来,从而避免了将整个页

29、面提交到服务器。和传统的Web应用程序相比,ASP.NET AJAX Web应用程序具有以下优点:l页面能够局部更新;l异步回传,将页面处理的逻辑与用户的操作进行异步处理;13.1.2 安装ASP.NET AJAXlASP.NET AJAX是免费的,它可以从微软ASP.NET的官方网站(http:/)下载。在此,笔者下载了ASP.NET AJAX v1.0。在安装ASP.NET AJAX之前,必须要求安装.NET Framework2.0或更高版本、IE5.01或更高版本。操作系统可以为Windows家族(如Windows Server 2003、Windows XP Home、Windows

30、 XP Professional、Windows Vista等)。下面介绍在笔者机器(配置为Windows 2003 Server和.NET Framework 3.0)上安装ASP.NET AJAX v1.0的具体步骤如下。13.1.3 创建第一个ASP.NET AJAX网络应用程序l本小节介绍创建第一个ASP.NET AJAX网络应用程序,名称为Sample_13_01。在Visual Studio 2005集成开发环境中,单击【创建】|【网站】链接,弹出【新建网站】对话框,并选中【ASP.NET AJAX-Enabled Web Site】图标,如图13.8所示。13.1.4 ASP.N

31、ET AJAX网络应用程序的配置文件l在ASP.NET AJAX网络应用程序Sample_13_01中,系统提供了配置文件Web.Config。但是,该配置文件的内容和普通ASP.NET网络应用程序的配置文件的内容不相同。下面将详细介绍该配置文件。l1注册了ASP.NET AJAX的程序集或组件l2增加元素的配置l3增加元素的配置13.1.5 管理Web窗体页的脚本lScriptManager控件又称为脚本管理控件,管理Web窗体页上的脚本和AJAX控件。这些脚本能够支持页面局部更新,而且还能够生成客户端代理脚本。新生成的脚本与Web窗体页访问的服务器相关。l注意:如果要在某一个Web窗体页上

32、使用AJAX Web服务器控件,那么该Web窗体页必须放置且只能放置一个ScriptManager控件。13.1.6 提供无刷新的Web窗体页环境l在ASP.NET AJAX网络应用程序中,ScriptManager和UpdatePanel控件一起提供了无刷新的Web窗体页环境。UpdatePanel控件能够将自动或在给定条件下更新其区域中的数据,并且把这种更新操作隐藏在Web窗体页的背后,即用户不会感觉到这一更新操作(用户不会感觉到该页面被刷新)。UpdatePanel控件提供了8个属性和一个方法。13.1.7 使用Timer控件定时更新页面l应用程序Sample_13_01中的页面Time

33、rCtrl.aspx使用了ASP.NET AJAX的Timer控件实现了定时更新Web窗体页的功能。下面介绍该页面的具体实现。l在页面TimerCtrl.aspx中添加了一个ScriptManager控件、一个UpdatePanel控件、一个Label控件、一个DropDownList控件、一个Timer控件和一个SqlDataSource控件。它们的ID属性的值分别为smForm、upForm、lbUsername、ddlUser、tUser、sqlDSUser。13.1.8 显示Web窗体页更新进度l应用程序Sample_13_01中的页面WebPageProgress.aspx使用了AS

34、P.NET AJAX的UpdateProgress控件显示Web窗体页更新进度的功能。下面介绍该页面的具体实现。l在页面WebPageProgress.aspx中添加了一个ScriptManager控件、一个UpdatePanel控件、一个UpdateProgress控件和一个Button控件。它们的ID属性的值分别为smForm、upForm、progressCtrl和btnClick。13.2 总体功能设计和数据库设计l本小节将介绍基于ASP.NET AJAX技术的邮件系统的总体功能设计和数据库设计,以及数据库中各个表之间的关系设计。13.2.1 总体功能设计l应用程序ASPNET2Aja

35、xMail实现的主要功能如下:l1用户和角色管理功能l2邮件系统及其管理功能l3通讯录及其管理功能l4邮件标签和过滤器及其管理功能l5邮件平台13.2.2 表设计l应用程序ASPNET2AjaxMail主要包括用户、角色、邮件文件夹、邮件、邮件标签、邮件过滤器、组、联系人等数据。在此,笔者共创建了10个表(其中,用户和角色表已经在Blog系统中介绍过,在此不再介绍),它们的具体说明如下。l1邮件文件夹表AjaxFolder 2邮件表AjaxMail 3邮件附件表AjaxAttachment 4过滤器表AjaxFilter 5过滤器邮件关系表AjaxFilterMail 6标签表AjaxTag

36、7标签表AjaxTagMail 8用户组表AjaxGroup 9联系人表AjaxLinkman 10邮件系统配置表AjaxSystemConfig13.2.3 表关系设计l应用程序ASPNET2AjaxMail的数据库比较简单,各个表之间的关系如图13.19所示。其中,邮件表AjaxMail引用邮件文件夹表AjaxFolder的ID字段作为外键;联系人表AjaxLinkman引用用户组表AjaxGroup的ID字段作为外键;邮件表AjaxMail和过滤器表AjaxFilter、标签表AjaxTag形成多对多的关系;邮件附件表AjaxAttachment引用邮件表AjaxMail的ID字段作为外

37、键。13.3 应用程序ASPNET2AjaxMaill本小节主要介绍应用程序ASPNET2AjaxMail的组成,及其通用模块的设计。其中,该应用程序由Web窗体页、类文件、主题文件、资源文件等组成。通用模块包括一个名称为“模块标题”的用户控件ModuleTitle.ascx。它存放在UserControl目录下。13.3.1 应用程序ASPNET2AjaxMail的组成l应用程序ASPNET2AjaxMail包含Admin、App_Code、App_Themes、Bin、Filter、Mail、Portal、UserControl目录,以及页面Default.aspx、配置文件Web.Con

38、fig、全局文件Global.asax等。展开Admin、Portal、Filter和Mail目录,在【解决方案资源管理器】面板中查看应用程序ASPNET2AjaxMail,13.3.2 系统配置文件Web.Configl应用程序ASPNET2AjaxMail的配置文件Web.Config放置在其的根目录下。笔者在该文件中配置了访问数据库Web2ASPNET2DB的链接字符串“data source=localhost;userid=sa;pwd=123456; database=Web2ASPNET2DB”;同时还配置了应用程序ASPNET2AjaxMail的验证方式为“Windows”。1

39、3.3.3 添加应用程序的引用文件l笔者向应用程序ASPNET2AjaxMail添加了3个引用文件(文件的后缀名为.dll)。它们具体为:lWeb2ASPNET2.CommonOperation.dll;lWeb2ASPNET2.OperateSqlServer.dll;lWeb2ASPNET2.UserCommonOperation.dll。13.3.4 主页Default.aspxl应用程序ASPNET2AjaxMail的主页Default.aspx特别简单。该页面在Page_Load(object sender,EventArgs e)事件中重定向到用户登录页面UserLogin.asp

40、x。程序代码如下:lprotected void Page_Load(object sender,EventArgs e)llResponse.Redirect(/Portal/UserLogin.aspx); /重定向到登录页面l13.3.5 通用模块设计l该应用程序中的通用模块只包括模块标题用户模块,它的实现方法和应用程序RSS中的通用模块相同。读者可以参考8.4.5小节。13.3.6 邮件系统初始化l应用程序ASPNET2AjaxMail在全局文件Global.asax中初始化整个系统。该初始化操作由Session对象的Session_Start(object sender, Event

41、Args e)事件实现。该事件从数据库中获取邮件系统的服务器的IP地址和端口,并把IP地址和端口保存到Application变量中。13.3.7 数据访问层设计l在应用程序ASPNET2AjaxMail的数据访问层中,笔者定义了与操作邮件相关内容(如邮件、邮件附件等)的类Mail。类Mail定义了以下11个方法:lpublic SqlDataReader GetMailProfile(),获取邮件服务器的配置;lpublic DataSet GetMails(),获取所有邮件;lpublic DataSet GetMailsByFloder(int folderID),根据指定的文件夹获取邮件

42、;13.4 关键技术详解l本小节主要介绍应用程序ASPNET2AjaxMail的关键技术,如给邮件贴标签、配置邮件服务器、使用过滤器搜索邮件、搜索联系人、发送邮件等。13.4.1 给邮件贴标签l在发件箱页面ViewMail.aspx中,用户选中将被标记的邮件,并单击【标记选择的邮件】按钮,则可以给选定的邮件贴标签。上述功能由【标记选择的邮件】按钮的Click事件实现,13.4.2 配置邮件服务器l配置邮件服务器由页面SystemConfig.aspx实现,它的代码隐藏文件为SystemConfig.aspx.cs。该页面功能如下所示:l输入服务器的IP地址和端口;l将服务器的IP地址和端口保存

43、到数据库中。13.4.3 使用过滤器搜索邮件l使用过滤器搜索邮件由页面FilterMail.aspx实现,它的代码隐藏文件为FilterMail.aspx.cs。该页面根据过滤器从数据库中检索符合过去过滤器的邮件。13.4.4 搜索联系人l搜索联系人由页面SearchLinkman.aspx实现,代码隐藏文件为SearchLinkman.aspx.cs。该页面实现功能如下所示:l输入搜索联系人的关键字;l执行搜索功能;l以表格形式显示搜索结果。13.4.5 发送邮件l发送邮件功能由页面SenderMail.aspx实现。发送邮件的过程比较复杂,下面介绍发送邮件的具体步骤。l(1)创建新邮件,添

44、加发件人和收件人地址。13.5 用户注册及其信息维护l用户注册及其信息维护功能包括注册新用户、修改用户信息、修改用户密码和用户管理等功能。实现这些功能的页面(如AddUser.aspx、UpdateUser.aspx等)都保存在文件夹“Admin”下。用户登录功能验证访问网站的用户是否为合法用户,实现该功能的页面保存在文件夹“Portal”下。13.6 邮件管理l本小节主要介绍基于ASP.NET AJAX技术的邮件系统中与邮件相关的操作和管理,如发件箱、读邮件、发送邮件等。13.6.1 发件箱l发件箱由页面ViewMail.aspx实现,它的代码隐藏文件为ViewMail.aspx.cs。该页

45、面实现功能如下所示:l以表格形式显示用户发送的邮件;l选中一行或多行,即选中一封邮件或多封邮件。l执行标记邮件的功能。其中,该功能已经在13.4.1小节详细介绍过。13.6.2 读邮件l读邮件由页面ReaderMail.aspx实现,它的代码隐藏文件为ReaderMail.aspx.cs。该页面实现功能如下所示:l显示邮件的收件人、抄送、主题、内容、格式等信息;l以列表形式显示邮件的附件;l回复当前邮件;l返回到发件箱ViewMail.aspx。13.6.3 发送邮件l发送邮件由页面SenderMail.aspx实现,它的代码隐藏文件为SenderMail.aspx.cs。该页面实现功能如下所

46、示:l输入新目录的名称和备注信息;l选择新目录所属的上级目录;l添加新目录的功能,并把新目录的信息提交到数据库中;l返回到管理页面ViewDirectoryByList.aspx。13.7 邮件标签及其管理l本小节主要介绍基于ASP.NET AJAX技术的邮件系统中与邮件标签相关的操作和管理,如添加新标签、编辑标签属性、标签管理等。13.7.1 操作通讯录的数据访问层设计l操作邮件标签的数据访问层由类Tag实现。它定义了添加、修改、检索、删除邮件标签的方法,具体如下:lpublic DataSet GetTagsDS(),获取所有标签,并用DataSet对象保存结果;lpublic SqlDa

47、taReader GetTags(),获取所有标签,并用户SqlDataReader对象读取结果;lpublic SqlDataReader GetSingleTag(int tagID),获取单个标签;lpublic int AddTag(string name),添加新的标签;13.7.2 添加新标签l添加新标签由页面AddTag.aspx实现,它的代码隐藏文件为AddTag.aspx.cs。该页面实现下面三个功能:l输入新标签的名称;l添加新标签,并把新标签的信息提交到数据库中;l返回到标签管理页面TagManage.aspx。13.7.3 编辑标签属性l编辑标签属性由页面UpdateT

48、ag.aspx实现,它的代码隐藏文件为UpdateTag.aspx.cs。该页面实现功能如下所示:l修改标签的名称;l修改标签,并把修改后的标签信息提交到数据库中;l返回到管理页面TagManage.aspx。13.7.4 按时间顺序显示标签及其会话数量l按时间顺序显示标签及其会话数量,实际上是标签关联功能。它页面TagManage.aspx实现,它的代码隐藏文件为TagManage.aspx.cs。该页面实现下面6个功能:l以列表形式显示标签;l显示标签的会话数量;l按标签的创建时间的顺序显示标签;l提供重定向到添加新标签页面的按钮;13.8 通讯录l本小节主要介绍基于ASP.NET AJA

49、X技术的邮件系统中与通讯录相关的操作和管理,如添加组、编辑组的属性、组管理、添加组内联系人、移动联系人等。13.8.1 操作通讯录的数据访问层设计l操作通讯录的数据访问层由类Group和Linkman实现。它们定义了添加、修改、检索、删除通讯录中的信息(如组和联系人)的方法,具体如下:lpublic DataSet GetGroupsDS(),获取所有组,并使用DataSet对象保存结果;lpublic SqlDataReader GetGroups(),获取所有组,并使用SqlDataReader读取结果;lpublic SqlDataReader GetSingleGroup(int gr

50、oupID),获取单个组;13.8.2 添加组l添加组由页面AddGroup.aspx实现,它的代码隐藏文件为AddGroup.aspx.cs。该页面实现功能如下所示:l输入新组的名称;l添加新组,并把新组的信息提交到数据库中;l返回到组管理页面GroupManage.aspx。13.8.3 编辑组的属性l编辑组的属性由页面UpdateGroup.aspx实现,它的代码隐藏文件为UpdateGroup.aspx.cs。该页面实现功能如下所示:l编辑组的名称;l修改组,并把修改后的组的信息提交到数据库中;l返回到组管理页面GroupManage.aspx。13.8.4 组管理l组管理由页面Gro

51、upManage.aspx实现,它的代码隐藏文件为GroupManage.aspx.cs。该页面实现下面4个功能:l以列表形式显示组的信息;l显示每一个组包含成员的数量;l提供重定向到管理组的联系人页面、修改组页面的按钮;l提供删除组的功能。13.8.5 添加联系人l添加联系人由页面AddLinkman.aspx实现,它的代码隐藏文件为AddLinkman.aspx.cs。该页面实现功能如下所示:l输入新联系人的名称和电子邮件;l选择新联系人所属的组;l添加新联系人能,并把新联系人的信息提交到数据库中;l返回到联系人管理页面GroupLinkmanManage.aspx。13.8.6 编辑联系

52、人的属性l编辑联系人的属性由页面UpdateLinkman.aspx实现,它的代码隐藏文件为UpdateLinkman.aspx.cs。该页面实现功能如下所示:l编辑联系人的名称和电子邮件;l修改联系人,并把修改后的联系人信息提交到数据库中;l返回到联系人管理页面GroupLinkmanManage.aspx。13.8.7 组内联系人管理l组内联系人管理由页面GroupLinkmanManage.aspx实现,它的代码隐藏文件为GroupLinkmanManage.aspx.cs。该页面实现下面4个功能:l以列表形式显示组内的联系人信息;l提供重定向到移动联系人页面、修改联系人属性页面的按钮;

53、l提供删除联系人的功能;l提供重定向到添加新联系人页面的按钮。13.8.8 移动联系人l移动联系人由页面MoveLinkman.aspx实现,它的代码隐藏文件为MoveLinkman.aspx.cs。该页面实现功能如下:l显示被移动联系人的名称、电子邮件,以及所属组;l移动联系人,并将移动后的信息保存到数据库中;l返回到联系人管理页面GroupLinkmanManage.aspx。13.9 邮件过滤器l本小节主要介绍基于ASP.NET AJAX技术的邮件系统中与邮件过滤器相关的操作和管理,如添加过滤器、修改过滤器、过滤器管理等。13.9.1 操作过滤器的数据访问层设计l操作过滤器的数据访问层由

54、类Filter实现。它定义了添加、修改、检索、删除过滤器的方法,具体如下:lpublic DataSet GetFilters(),获取所有过滤器;lpublic SqlDataReader GetSingleFilter(int filterID),获取单个过滤器;lpublic int AddFilter(string key,byte flag),创建新的过滤器;lpublic int UpdateFilter(int filterID,string key),修改过滤器;lpublic int DeleteFilter(int filterID),删除过滤器。13.9.2 添加过滤器l

55、添加过滤器由页面KeyFilter.aspx实现,它的代码隐藏文件为KeyFilter.aspx.cs。该页面实现下面四个功能:l输入新过滤器的关键字;l选择新过滤器的过滤类型;l添加新过滤器,并把新过滤器的信息提交到数据库中;l返回到过滤器管理页面FilterManage.aspx。13.9.3 修改过滤器l修改过滤器由页面UpdateFilter.aspx实现,它的代码隐藏文件为UpdateFilter.aspx.cs。该页面实现功能如下所示:l修改过滤器的关键字,并把修改后过滤器信息提交到数据库中;l返回到过滤器管理页面FilterManage.aspx。13.9.4 过滤器管理l过滤器

56、管理由页面FilterManage.aspx实现,它的代码隐藏文件为FilterManage.aspx.cs。该页面实现下面4个功能:l以列表形式显示过滤器的信息;l提供重定向到修改过滤器属性页面的按钮;l提供删除过滤器的功能;l提供重定向到添加新过滤器页面的按钮。第14章 安装和发布Web 2.0网络应用程序l本章节主要介绍创建安装Web 2.0网络应用程序的Web安装程序、数据库脚本、桌面安装程序,以及安装和发布Web 2.0网络应用程序。14.1 创建Web安装程序lVisual Studio 2005集成开发环境提供了创建Web应用程序的安装程序的功能。由于本书中详细介绍了个网络应用程

57、序(RSS、Blog、WebTags等),在此不一一介绍创建每一个应用程序的安装程序。下面仅以网络应用程序RSS为例,介绍创建Web应用程序的安装程序的方法, 14.2 创建数据库的脚本l为了能够直接安装网络应用程序的数据库,必须创建数据库的脚本文件。下面介绍创建数据库Web2ASPNET2DB脚本的操作步骤。l(1)打开SQL Server 2005的【SQL Server Management Studio】窗口,并找到网络应用程序的数据库Web2ASPNET2DB。l(2)右击【对象资源管理器】面板中的【Web2ASPNET2DB】节点,并依次选择【任务】/【生成脚本】命令, 14.3

58、创建Web 2.0网络应用程序的安装程序l本小节主要介绍创建Web 2.0网络应用程序的安装程序。笔者设置该安装程序的名称为“Setup”,它包含的文件放置在“Web2ASPNET2”文件夹下。l注意:应用程序Setup是一个Windows Form程序,而不是一个ASP.NET应用程序。l在Visual Studio 2005集成开发环境中打开应用程序Setup。在【解决方案资源管理器】面板中展开应用程序Setup各个文件夹节点(如Component、UserControls)。14.3.1 准备安装用户控件l准备安装用户控件的名称为PrepareUC.cs,该控件显示安装程序准备安装的状态

59、。它添加了一个进程条控件(ProgressBar),ID属性的值为probPrepare。14.3.2 安装数据库用户控件l安装数据库用户控件的名称为DatabaseUC.cs。该控件提供输入登录数据库的用户名称、登录密码和服务器输入框。其中,用户名称输入框的默认值为“sa”。14.3.3 安装Web2.0网络应用程序用户控件l安装Web2.0网络应用程序用户控件的名称为WebSetupUC.cs,该控件显示安装Web2.0网络应用程序的进度。它添加了一个进程条控件(ProgressBar),ID属性的值为probSetup。14.3.4 完成安装用户控件l完成安装用户控件的名称为Finish

60、UC.cs。该控件显示安装程序完成安装的状态。用户控件FinishUC.cs的设计界面14.3.5 状态提示用户控件l准备安装用户控件的名称为StatusUC.cs。该控件显示安装程序正在执行安装操作的状态。它添加了一个PictureBox控件和一个Label控件。它们的ID属性的值分别为le和titleLabel。其中,titleLabel显示正在执行安装的操作,le控件显示正在执行安装操作的状态图像。14.3.6 安装程序的主窗体l安装程序的主窗体由mailForm.cs文件实现。主窗体mailForm.cs可以分为4部分:上部分、左部分、主体部分和底部分。而且,每一部分放置一个Panel

61、控件,这些控件的ID属性的值分别为topPanel、le、mainPanel和bottomPanel。l其中,上部分使用一个Label控件显示标题“欢迎使用Web 2.0+ASP.NET 2.0网络应用程序安装程序!”。左部分放置了9个状态提示用户控件,分别显示“准备安装”、“安装数据库”、“安装RSS”、“安装Blog”、“安装WebTags”、“安装WebStore”、“安装XMLBBS”、“安装ASPNETAjaxMail”和“完成安装”信息。底部分放置3个按钮,名称分别为“上一步”、“下一步”和“完成”。14.4 安装并发布Web 2.0网络应用程序l在Visual Studio 2005集成开发环境中创建应用程序Setup之后,笔者将该安装程序需要文件和资源(如Web应用程序的安装程序、数据库脚本文件等)都拷贝到其所在目录Debug,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!