深入体验C - 项目开发- 在线留言簿系统 联系客服

发布时间 : 星期三 文章深入体验C - 项目开发- 在线留言簿系统更新完毕开始阅读

第2章 在线留言簿系统

TargetControlID=\请输入电子邮件\

WatermarkCssClass=\

ClientValidationFunction=\ControlToValidate=\Display=\长度至少为10,最多为8000。\

runat=\请输入留言内容\WatermarkCssClass=\ 验 证 码:  

3) 调用验证码文件

验证码文件Yanzhengma.aspx的功能是,调用“bin”目录内的ASPNETAJAXWeb. ValidateCode.dll控件,实现验证码显示效果。文件Yanzhengma.aspx的具体实现代码如下。

<%@ Page Language=\ValidateCode.Page.ValidateCode\

2. 留言展开回复模块

留言展开回复模块的功能是,当单击某留言后的“展开”链接后,将动态显示此留言的回复数据。其具体实现流程如下。

(1) 调用Ajax的DynamicPopulate控件,用于实现动态显示效果。

(2) 调用文件AjaxService.cs内的GetReplyByMessage()方法,获取回复内容。 文件AjaxService.cs的具体实现代码如下。

///开始引入新的命名空间 using System.Data; using System.Text;

using System.Web.Script.Services; using ASPNETAJAXWeb.AjaxLeaveword; /// AjaxService 的摘要说明

[WebService(Namespace = \

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] ///添加脚本服务

[System.Web.Script.Services.ScriptService()]

public class AjaxService : System.Web.Services.WebService { public AjaxService () { }

[WebMethod]

public string GetReplyByMessage(string contextKey) { ///获取参数ID int messageID = -1; if(Int32.TryParse(contextKey,out messageID) == false) { return string.Empty; } Message message = new Message(); DataSet ds = message.GetReplyByMessage(messageID); if(ds == null || ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0) { return string.Empty;

58

第2章 在线留言簿系统

}

StringBuilder returnHtml = new StringBuilder(); foreach(DataRow row in ds.Tables[0].Rows) { returnHtml.AppendFormat(\于[{1}] 回复

\row[\ returnHtml.Append(\ returnHtml.AppendFormat(\ returnHtml.Append(\ } return returnHtml.ToString(); } }

通过上述代码处理,执行系统留言列表页面后,将首先默认显示留言数据,而不显示留言的回复数据。当单击某留言后的“展开”链接后,此留言的回复信息将动态地显示出来。

2005年12月23日,晴空万里,文本编辑器

在上面的留言回复处理过程中,通过foreach语句对于内容进行了HTML化处理,因为只有处理后,才能使回复内容以浏览者希望的格式显示。但是这里有一个问题,我是一名初学者,在代码中添加HTML转换代码变得十分复杂,不但在视觉上感觉到繁琐,而且在后期维护上也会感到无所适从,并且不能保证所有的特殊字符都能被成功转换。我很想找一种快速而有效的方法实现,于是准备向师兄求救。师兄说网络中有专门处理HTML标记的工具,例如HtmlArea。HtmlArea是一款很简洁的WTYSWTYG编辑器,是纯JS+Html的编辑器,理论上可以套在任何语言平台上,经过实际使用可以和ASP.NET 2.0+Ajax 很好地结合。

无论是留言系统,还是新闻系统,只要涉及了信息发布和维护的项目,都可以使用现成的文本编辑器。市面上免费的文本编辑器比较多,并且使用方法简单,功能强大,是提高我们开发效率的重要工具,我决定以后多使用。

2.6.2 留言分页列表显示模块

一页网页的容量是有限的,并且为了方便用户浏览留言簿系统的留言内容,不可能将很多条留言信息显示在一个网页上,所以我准备使用分页技术。留言分页列表显示模块的功能是,将系统库内的留言信息以分页列表的样式显示出来。上述功能的实现文件如下。

? 文件LeavewordFen.aspx。 ? 文件LeavewordFen.aspx.cs。

1. 留言分页显示页面

留言分页显示页面文件LeavewordFen.aspx的功能是,插入专用控件将系统内数据读出,然后将获取的留言数据以分页样式显示。其具体实现流程如下。

(1) 插入1个GridView控件,用于以列表样式显示留言的信息,包括留言者、邮箱地

59

深入体验C#项目开发 址、时间和留言内容等。

(2) 通过GridView控件设置分页显示留言数为5。

(3) 通过GridView控件设置分页处理事件为gvMessage_PageIndexChanging()。 (4) 通过PagerSettings设置分页模式为NumericFirstLast。 文件LeavewordFen.aspx的主要代码如下。

<%@ Page Language=\AutoEventWireup=\CodeFile=\StylesheetTheme=\…

AllowPaging=\PageSize=\

作者:<%# Eval(\%> 于[<%# Eval(\、[<%# Eval(\留言

<%# Eval(\

2. 分页处理

分页处理文件LeavewordFen.aspx.cs的功能是,定义分页事件对留言数据进行重新处理。其具体实现流程如下。

(1) 引入AjaxLeaveword命名空间。

60

Word文档下载:深入体验C - 项目开发- 在线留言簿系统.doc
搜索更多:深入体验C - 项目开发- 在线留言簿系统


最新浏览