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

上传人:za****8 文档编号:17047765 上传时间:2020-11-07 格式:PPT 页数:113 大小:1.16MB
收藏 版权申诉 举报 下载
精通ASP.NET2.0的Web2.0电子教程(下).ppt_第1页
第1页 / 共113页
精通ASP.NET2.0的Web2.0电子教程(下).ppt_第2页
第2页 / 共113页
精通ASP.NET2.0的Web2.0电子教程(下).ppt_第3页
第3页 / 共113页
资源描述:

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

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

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

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

4、XML文档的 XmlTextWriter类、读 XML文档的 XmlTextReader类等。下面介绍使用这些类来操作 XML文档的方法。 12.2 总体功能设计和数据库设计 本小节将介绍基于 XML技术的 BBS系统的总体功能设计和数据 库设计。本章应用程序使用了数据库 WEB2ASPNET2DB,以及由 XML文件组成的数据库。其中,这些 XML文件都存放在应用程 序的 XmlDatabase文件夹下。 12.2.1 总体功能设计 基于 XML技术的 BBS系统实现的主要功能如下。 1用户和角色管理功能 2版面管理功能 3帖子、回复、附件及其管理功能 4站内短信息及其管理功能 5搜索功能

5、6统计和排行功能 12.2.2 表设计 应用程序 XMLBBS主要包括用户、角色、版面、帖子、帖子回 复、短信息、附件等数据。在此,笔者共创建了 8个表(其中, 用户和角色表已经在 Blog系统中介绍过,在此不再介绍), 具体说明如下。 1版面表 Board 2帖子表 Title 3回复表 Reply 4附 件表 Attachment 5短信息表 Message 6短信息屏蔽表 MessageShield 12.3 应用程序 XMLBBS 本小节主要介绍应用程序 XMLBBS的组成,及其通用模块的设 计。其中,该应用程序由 Web窗体页、类文件、主题文件、资 源文件等组成。通用模块包括一个名称

6、为“模块标题”的用 户控件 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

7、目录,主要包含超级管理员使用的后台管理页面,如注 册新用户、用户管理等页面。 12.3.2 系统配置文件 Web.Config 应用程序 XMLBBS的配置文件 Web.Config放置在其的根目录下。 笔者在该文件中配置了访问数据库 Web2ASPNET2DB的链接字符 串“ data source=localhost;userid=sa;pwd=123456; database=Web2ASPNET2DB” 和访问数据库的 XML文件的链接地 址;同时还配置了应用程序 XMLBBS的验证方式为“ Windows” 。 12.3.3 添加应用程序的引用文件 笔者向应用程序 XMLBBS添加了

8、 4个引用文件(文件的后缀名 为 .dll)。具体包括如下。 Web2ASPNET2.CommonOperation.dll。 Web2ASPNET2.OperateSqlServer.dll。 Web2ASPNET2.UserCommonOperation.dll。 Web2ASPNET2.OperateXmlDatabase.dll。 12.3.4 主页 Default.aspx 应用程序 XMLBBS的主页 Default.aspx特别简单。该页面在 Page_Load(object sender, EventArgs e)事件实现两个功能: 更新系统状态和重定向到用户登录页面 User

9、Login.aspx。 其中,更新系统状态由函数 UpdateUserStat()实现,它把系 统被访问的次数加一。 12.3.5 通用模块设计 该应用程序中的通用模块包括模板标题用户控件和搜索用户 控件。其中,模板标题用户控件和应用程序 RSS的通用模块相 同,具体实现请参见 8.3.5小节。 搜索用户控件由 SearchUC.ascx实现,它的代码隐藏文件为 SearchUC.ascx.cs。该控件添加了 10个链接, 12.4 关键技术详解 基于 XML技术 BBS系统使用应用程序 OperateXmlDatabase来操 作 XML数据库。在 Visual Studio 2005中打开

10、该应用程序,其 【 解决资源方案管理器 】 面板 ,应用程序 OperateXmlDatabase 包含了两个文件: XmlDatabase.cs和 DataCommon.cs。第一个 文件定义了 XmlDataBase类。该类定义操作 XML数据库的方法, 定义该类的程序代码如下。 12.4.1 定义操作 XML数据库的参数 在介绍操作 XML数据库方法之前,首先介绍这些方法所使用的 参数( Paramter)。在此,笔者把这些方法操作 XML数据库时 所使用的参数称为 XML参数。每一个参数都被定义为 XmlParamter类型。该类主要包含的属性为: Name、 Value和 Direc

11、tion,分别表示参数的名称、值和方向。 12.4.2 创建操作 XML数据库的参数 在下述程序代码中,方法 CreateParameter(string name,string value,ParameterDirection direciton)创建一 个 XML参数,即 XmlParamter对象。该方法设置参数的名称、 值和方向。 12.4.3 读取 XML文件中的数据 在介绍读取 XML文件中的数据的方法之前,先介绍一个辅助函 数。 读取 XML文件中的数据由方法 GetData(string path,string tableName)或者 GetData(string path,

12、string tableName,params XmlParamter param)方法实现。其中, 第一个方法没有携带 XML参数列表,第二个方法在查询或检索 数据可用使用 XML参数列表 param。参数 path表示被检索数据 的 XML文件的链接地址;参数 tableName表示被检索数据的表 的名称,即 XML文件根节点名称。 12.4.4 向 XML文件中添加数据 在下述程序代码中,方法 AddData(string path,string tableName,params XmlParamter param)向 XML文件中的添 加数据,并返回一个整数。该方法添加数据的具体步骤如

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

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

15、速操作 XML文件中的数据 应用程序 OperateXmlDatabase中的 DataCommon.cs文件定义了 DataCommon类。该类提供快速操作 XML文件中的数据的方法。 这些方法的具体描述如下。 ( 1) public static DataTable GetDataByNoParam(string path,string tableName)。 ( 2) public static DataTable GetDataByIDParam(string path,string tableName,int idValue)。 ( 3) public static int Dele

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

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

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

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

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

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

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

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

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

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

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

27、事件。 ( 1) Application_Start(object sender, EventArgs e)。 ( 2) Session_Start(object sender, EventArgs e)。 ( 3) Session_End(object sender, EventArgs e)。 12.9.5 统计访问总人数 页面 StatTotalUser.aspx统计访问总人数。它的事件 Page_Load(object sender,EventArgs e)从数据库中获取访 问总人数,并显示在页面上。 12.9.6 热门帖子排行 热门帖子排行由页面 ViewHotTitle.aspx实

28、现,它的代码隐藏 文件为 ViewHotTitle.aspx.cs。该页面按照帖子被访问的次 数,以倒序方式显示系统中所有的帖子。 12.9.7 热门回复帖子排行 热门回复帖子排行由页面 AnswerHotTitle.aspx实现,它的代 码隐藏文件为 AnswerHotTitle.aspx.cs。该页面按照帖子回 复次数,以倒序方式显示系统中所有的帖子。 第 13章 基于 AJAX技术的邮件系统 AJAX技术的发展越来越快,它提供了异步处理 Web页面(浏览 器)和服务器交互的功能。浏览器不需要将整个页面提交到 服务器,就能够实现页面的部分更新。并且在这一个与服务 器交互过程中,用户不会感觉

29、到页面被刷新。微软公司在 ASP.NET 2.0之上也推出了 AJAX技术,即 ASP.NET AJAX技术。 本章将介绍创建一个基于 ASP.NET AJAX技术的邮件系统。用 户可以在无刷新的 Web环境使用该邮件系统。 13.1 什么是 ASP.NET AJAX ASP.NET AJAX技术被整合在 ASP.NET 2.0之中,是 ASP.NET的 一种扩展技术。它可以使得用户在开发 ASP.NET应用程序时, 将 Web服务器控件和客户端脚本结合起来,并在此基础上实现 了页面的局部更新,避免了刷新整个页面。 13.1.1 ASP.NET Ajax概述 ASP.NET AJAX技术提供了

30、处理 ECMAScript( javascript)和 动态 HTML( DHTML)的脚本库,使得用户可以从客户端脚本调 用基于 Web的应用程序或组件。 ASP.NET AJAX最显著的功能就 是:当浏览器与服务器交互时,它可以将浏览器中的一部分 内容呈现出来,从而避免了将整个页面提交到服务器。和传 统的 Web应用程序相比, ASP.NET AJAX Web应用程序具有以下 优点: 页面能够局部更新; 异步回传,将页面处理的逻辑与用户的操作进行异步处理; 13.1.2 安装 ASP.NET AJAX ASP.NET AJAX是免费的,它可以从微软 ASP.NET的官方网站 ( )下载。在

31、此,笔者下载了 ASP.NET AJAX v1.0。在安装 ASP.NET AJAX之前,必须要求安装 .NET Framework2.0或更高版本、 IE5.01或更高版本。操作系统可 以为 Windows家族(如 Windows Server 2003、 Windows XP Home、 Windows XP Professional、 Windows Vista等)。下 面介绍在笔者机器(配置为 Windows 2003 Server和 .NET Framework 3.0)上安装 ASP.NET AJAX v1.0的具体步骤如下。 13.1.3 创建第一个 ASP.NET AJAX网络

32、应用程序 本小节介绍创建第一个 ASP.NET AJAX网络应用程序,名称为 Sample_13_01。在 Visual Studio 2005集成开发环境中,单 击 【 创建 】 |【 网站 】 链接,弹出 【 新建网站 】 对话框,并选 中 【 ASP.NET AJAX-Enabled Web Site】 图标,如图 13.8所示。 13.1.4 ASP.NET AJAX网络应用程序的配置文件 在 ASP.NET AJAX网络应用程序 Sample_13_01中,系统提供了 配置文件 Web.Config。但是,该配置文件的内容和普通 ASP.NET网络应用程序的配置文件的内容不相同。下面

33、将详细 介绍该配置文件。 1注册了 ASP.NET AJAX的程序集或组件 2增加 元素的配置 3增加 元素的配置 13.1.5 管理 Web窗体页的脚本 ScriptManager控件又称为脚本管理控件,管理 Web窗体页上 的脚本和 AJAX控件。这些脚本能够支持页面局部更新,而且 还能够生成客户端代理脚本。新生成的脚本与 Web窗体页访问 的服务器相关。 注意:如果要在某一个 Web窗体页上使用 AJAX Web服务器控件, 那么该 Web窗体页必须放置且只能放置一个 ScriptManager控 件。 13.1.6 提供无刷新的 Web窗体页环境 在 ASP.NET AJAX网络应用程

34、序中, ScriptManager和 UpdatePanel控件一起提供了无刷新的 Web窗体页环境。 UpdatePanel控件能够将自动或在给定条件下更新其区域中的 数据,并且把这种更新操作隐藏在 Web窗体页的背后,即用户 不会感觉到这一更新操作(用户不会感觉到该页面被刷新)。 UpdatePanel控件提供了 8个属性和一个方法。 13.1.7 使用 Timer控件定时更新页面 应用程序 Sample_13_01中的页面 TimerCtrl.aspx使用了 ASP.NET AJAX的 Timer控件实现了定时更新 Web窗体页的功能。 下面介绍该页面的具体实现。 在页面 TimerCt

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

36、面的具体实现。 在页面 WebPageProgress.aspx中添加了一个 ScriptManager控 件、一个 UpdatePanel控件、一个 UpdateProgress控件和一个 Button控件。它们的 ID属性的值分别为 smForm、 upForm、 progressCtrl和 btnClick。 13.2 总体功能设计和数据库设计 本小节将介绍基于 ASP.NET AJAX技术的邮件系统的总体功能 设计和数据库设计,以及数据库中各个表之间的关系设计。 13.2.1 总体功能设计 应用程序 ASPNET2AjaxMail实现的主要功能如下: 1用户和角色管理功能 2邮件系统及

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

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

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

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

41、SPNET2DB” ;同时还配置了应用程序 ASPNET2AjaxMail的验证方式为“ Windows” 。 13.3.3 添加应用程序的引用文件 笔者向应用程序 ASPNET2AjaxMail添加了 3个引用文件(文件 的后缀名为 .dll)。它们具体为: Web2ASPNET2.CommonOperation.dll; Web2ASPNET2.OperateSqlServer.dll; Web2ASPNET2.UserCommonOperation.dll。 13.3.4 主页 Default.aspx 应用程序 ASPNET2AjaxMail的主页 Default.aspx特别简单。该

42、 页面在 Page_Load(object sender,EventArgs e)事件中重定 向到用户登录页面 UserLogin.aspx。程序代码如下: protected void Page_Load(object sender,EventArgs e) Response.Redirect(/Portal/UserLogin.aspx); /重 定向到登录页面 13.3.5 通用模块设计 该应用程序中的通用模块只包括模块标题用户模块,它的实 现方法和应用程序 RSS中的通用模块相同。读者可以参考 8.4.5小节。 13.3.6 邮件系统初始化 应用程序 ASPNET2AjaxMail在全

43、局文件 Global.asax中初始化 整个系统。该初始化操作由 Session对象的 Session_Start(object sender, EventArgs e)事件实现。该 事件从数据库中获取邮件系统的服务器的 IP地址和端口,并 把 IP地址和端口保存到 Application变量中。 13.3.7 数据访问层设计 在应用程序 ASPNET2AjaxMail的数据访问层中,笔者定义了与 操作邮件相关内容(如邮件、邮件附件等)的类 Mail。类 Mail定义了以下 11个方法: public SqlDataReader GetMailProfile(),获取邮件服务器 的配置; pu

44、blic DataSet GetMails(),获取所有邮件; public DataSet GetMailsByFloder(int folderID),根据指 定的文件夹获取邮件; 13.4 关键技术详解 本小节主要介绍应用程序 ASPNET2AjaxMail的关键技术,如给 邮件贴标签、配置邮件服务器、使用过滤器搜索邮件、搜索 联系人、发送邮件等。 13.4.1 给邮件贴标签 在发件箱页面 ViewMail.aspx中,用户选中将被标记的邮件, 并单击 【 标记选择的邮件 】 按钮,则可以给选定的邮件贴标 签。上述功能由 【 标记选择的邮件 】 按钮的 Click事件实现, 13.4.2

45、 配置邮件服务器 配置邮件服务器由页面 SystemConfig.aspx实现,它的代码隐 藏文件为 SystemConfig.aspx.cs。该页面功能如下所示: 输入服务器的 IP地址和端口; 将服务器的 IP地址和端口保存到数据库中。 13.4.3 使用过滤器搜索邮件 使用过滤器搜索邮件由页面 FilterMail.aspx实现,它的代码 隐藏文件为 FilterMail.aspx.cs。该页面根据过滤器从数据 库中检索符合过去过滤器的邮件。 13.4.4 搜索联系人 搜索联系人由页面 SearchLinkman.aspx实现,代码隐藏文件 为 SearchLinkman.aspx.cs

46、。该页面实现功能如下所示: 输入搜索联系人的关键字; 执行搜索功能; 以表格形式显示搜索结果。 13.4.5 发送邮件 发送邮件功能由页面 SenderMail.aspx实现。发送邮件的过程 比较复杂,下面介绍发送邮件的具体步骤。 ( 1)创建新邮件,添加发件人和收件人地址。 13.5 用户注册及其信息维护 用户注册及其信息维护功能包括注册新用户、修改用户信息、 修改用户密码和用户管理等功能。实现这些功能的页面(如 AddUser.aspx、 UpdateUser.aspx等)都保存在文件夹 “ Admin” 下。用户登录功能验证访问网站的用户是否为合法 用户,实现该功能的页面保存在文件夹“

47、Portal” 下。 13.6 邮件管理 本小节主要介绍基于 ASP.NET AJAX技术的邮件系统中与邮件 相关的操作和管理,如发件箱、读邮件、发送邮件等。 13.6.1 发件箱 发件箱由页面 ViewMail.aspx实现,它的代码隐藏文件为 ViewMail.aspx.cs。该页面实现功能如下所示: 以表格形式显示用户发送的邮件; 选中一行或多行,即选中一封邮件或多封邮件。 执行标记邮件的功能。其中,该功能已经在 13.4.1小节详细 介绍过。 13.6.2 读邮件 读邮件由页面 ReaderMail.aspx实现,它的代码隐藏文件为 ReaderMail.aspx.cs。该页面实现功能

48、如下所示: 显示邮件的收件人、抄送、主题、内容、格式等信息; 以列表形式显示邮件的附件; 回复当前邮件; 返回到发件箱 ViewMail.aspx。 13.6.3 发送邮件 发送邮件由页面 SenderMail.aspx实现,它的代码隐藏文件为 SenderMail.aspx.cs。该页面实现功能如下所示: 输入新目录的名称和备注信息; 选择新目录所属的上级目录; 添加新目录的功能,并把新目录的信息提交到数据库中; 返回到管理页面 ViewDirectoryByList.aspx。 13.7 邮件标签及其管理 本小节主要介绍基于 ASP.NET AJAX技术的邮件系统中与邮件 标签相关的操作和

49、管理,如添加新标签、编辑标签属性、标 签管理等。 13.7.1 操作通讯录的数据访问层设计 操作邮件标签的数据访问层由类 Tag实现。它定义了添加、修 改、检索、删除邮件标签的方法,具体如下: public DataSet GetTagsDS(),获取所有标签,并用 DataSet 对象保存结果; public SqlDataReader GetTags(),获取所有标签,并用户 SqlDataReader对象读取结果; public SqlDataReader GetSingleTag(int tagID),获取单 个标签; public int AddTag(string name),添加

50、新的标签; 13.7.2 添加新标签 添加新标签由页面 AddTag.aspx实现,它的代码隐藏文件为 AddTag.aspx.cs。该页面实现下面三个功能: 输入新标签的名称; 添加新标签,并把新标签的信息提交到数据库中; 返回到标签管理页面 TagManage.aspx。 13.7.3 编辑标签属性 编辑标签属性由页面 UpdateTag.aspx实现,它的代码隐藏文 件为 UpdateTag.aspx.cs。该页面实现功能如下所示: 修改标签的名称; 修改标签,并把修改后的标签信息提交到数据库中; 返回到管理页面 TagManage.aspx。 13.7.4 按时间顺序显示标签及其会话数

51、量 按时间顺序显示标签及其会话数量,实际上是标签关联功能。 它页面 TagManage.aspx实现,它的代码隐藏文件为 TagManage.aspx.cs。该页面实现下面 6个功能: 以列表形式显示标签; 显示标签的会话数量; 按标签的创建时间的顺序显示标签; 提供重定向到添加新标签页面的按钮; 13.8 通讯录 本小节主要介绍基于 ASP.NET AJAX技术的邮件系统中与通讯 录相关的操作和管理,如添加组、编辑组的属性、组管理、 添加组内联系人、移动联系人等。 13.8.1 操作通讯录的数据访问层设计 操作通讯录的数据访问层由类 Group和 Linkman实现。它们定 义了添加、修改、

52、检索、删除通讯录中的信息(如组和联系 人)的方法,具体如下: public DataSet GetGroupsDS(),获取所有组,并使用 DataSet对象保存结果; public SqlDataReader GetGroups(),获取所有组,并使用 SqlDataReader读取结果; public SqlDataReader GetSingleGroup(int groupID),获 取单个组; 13.8.2 添加组 添加组由页面 AddGroup.aspx实现,它的代码隐藏文件为 AddGroup.aspx.cs。该页面实现功能如下所示: 输入新组的名称; 添加新组,并把新组的信息提

53、交到数据库中; 返回到组管理页面 GroupManage.aspx。 13.8.3 编辑组的属性 编辑组的属性由页面 UpdateGroup.aspx实现,它的代码隐藏 文件为 UpdateGroup.aspx.cs。该页面实现功能如下所示: 编辑组的名称; 修改组,并把修改后的组的信息提交到数据库中; 返回到组管理页面 GroupManage.aspx。 13.8.4 组管理 组管理由页面 GroupManage.aspx实现,它的代码隐藏文件为 GroupManage.aspx.cs。该页面实现下面 4个功能: 以列表形式显示组的信息; 显示每一个组包含成员的数量; 提供重定向到管理组的联

54、系人页面、修改组页面的按钮; 提供删除组的功能。 13.8.5 添加联系人 添加联系人由页面 AddLinkman.aspx实现,它的代码隐藏文件 为 AddLinkman.aspx.cs。该页面实现功能如下所示: 输入新联系人的名称和电子邮件; 选择新联系人所属的组; 添加新联系人能,并把新联系人的信息提交到数据库中; 返回到联系人管理页面 GroupLinkmanManage.aspx。 13.8.6 编辑联系人的属性 编辑联系人的属性由页面 UpdateLinkman.aspx实现,它的代 码隐藏文件为 UpdateLinkman.aspx.cs。该页面实现功能如下 所示: 编辑联系人的

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

56、 件为 MoveLinkman.aspx.cs。该页面实现功能如下: 显示被移动联系人的名称、电子邮件,以及所属组; 移动联系人,并将移动后的信息保存到数据库中; 返回到联系人管理页面 GroupLinkmanManage.aspx。 13.9 邮件过滤器 本小节主要介绍基于 ASP.NET AJAX技术的邮件系统中与邮件 过滤器相关的操作和管理,如添加过滤器、修改过滤器、过 滤器管理等。 13.9.1 操作过滤器的数据访问层设计 操作过滤器的数据访问层由类 Filter实现。它定义了添加、 修改、检索、删除过滤器的方法,具体如下: public DataSet GetFilters(),获取

57、所有过滤器; public SqlDataReader GetSingleFilter(int filterID), 获取单个过滤器; public int AddFilter(string key,byte flag),创建新的 过滤器; public int UpdateFilter(int filterID,string key),修 改过滤器; public int DeleteFilter(int filterID),删除过滤器。 13.9.2 添加过滤器 添加过滤器由页面 KeyFilter.aspx实现,它的代码隐藏文件 为 KeyFilter.aspx.cs。该页面实现下面四个

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

59、x.cs。该页面实现下面 4个功能: 以列表形式显示过滤器的信息; 提供重定向到修改过滤器属性页面的按钮; 提供删除过滤器的功能; 提供重定向到添加新过滤器页面的按钮。 第 14章 安装和发布 Web 2.0网络应用程序 本章节主要介绍创建安装 Web 2.0网络应用程序的 Web安装程 序、数据库脚本、桌面安装程序,以及安装和发布 Web 2.0网 络应用程序。 14.1 创建 Web安装程序 Visual Studio 2005集成开发环境提供了创建 Web应用程序的 安装程序的功能。由于本书中详细介绍了个网络应用程序 ( RSS、 Blog、 WebTags等),在此不一一介绍创建每一个

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

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

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

63、Setup。 14.3.4 完成安装用户控件 完成安装用户控件的名称为 FinishUC.cs。该控件显示安装程 序完成安装的状态。用户控件 FinishUC.cs的设计界面 14.3.5 状态提示用户控件 准备安装用户控件的名称为 StatusUC.cs。该控件显示安装程 序正在执行安装操作的状态。它添加了一个 PictureBox控件 和一个 Label控件。它们的 ID属性的值分别为 leftPictureBox 和 titleLabel。其中, titleLabel显示正在执行安装的操作, leftPictureBox控件显示正在执行安装操作的状态图像。 14.3.6 安装程序的主窗体

64、 安装程序的主窗体由 mailForm.cs文件实现。主窗体 mailForm.cs可以分为 4部分:上部分、左部分、主体部分和底部分。而且,每一部分放置一个 Panel控件,这些控件的 ID属性的值分别为 topPanel、 leftPanel、 mainPanel和 bottomPanel。 其中,上部分使用一个 Label控件显示标题“欢迎使用 Web 2.0+ASP.NET 2.0网络应用程序安装程序!”。左部分放置了 9个状态提示用户控件, 分别显示“准备安装 ” 、“安装数据库”、“安装 RSS” 、“安装 Blog” 、“安装 WebTags” 、“安装 WebStore” 、“安装 XMLBBS” 、“安 装 ASPNETAjaxMail” 和“完成安装”信息。底部分放置 3个按钮,名称分 别为“上一步”、“下一步”和“完成

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