1、留言板进行设计目录1.任务目的 12.任务目标 23.任务实现 33.1留言板的页面 33.2留言分页显示的制作 43.3 多栏分页效果的实现 53.4头像的添加和显示 63.5显示带有头像的留言 73.6管理员登录页面的设计 83.7留言管理页的建立 93.8删除指定留言 103.9回复留言 114.心得体会 13上机报告1.任务目的 此次的任务是商城留言板的制作,学习制作留言板,将会综合使用前面介绍的知识和技术,对加深理解前面的知识大有帮助。主要是熟练掌握数据操作类的应用,自定义分页技术,图像上传和管理,字符过滤技术。2.任务目标 目标是对商城用户的留言板进行设计,主要的基本功能是:添加留
2、言、显示留言、以及管理留言。3.任务实现3.1留言板的页面(1)设计一个简单的留言界面,在此留言界面中,留言者可以填写姓名和留言内容,并提交到数据库,通过单击“查看留言”链接显示所有留言内容。(2)效果图如图所示:图 1 (3)单击“发表留言”生成的代码:protected void Button1_Click(object sender, EventArgs e) string strContent = Server.HtmlEncode(TextBox2.Text); strContent = strContent.Replace(rn,); strContent = strContent
3、.Replace(, ); strContent = strContent.Replace( , ); string strTitle = Server.HtmlEncode(TextBox1.Text); strTitle = strTitle.Replace(rn, ); strTitle = strTitle.Replace(, ); strTitle = strTitle.Replace( , ); string strSQL = insert into lyb(留言者,正文,时间,头像) values( + strTitle + , + strContent
4、+ , + DateTime.Now+ , + DropDownList1.SelectedValue.ToString() + ); if (DbManger.ExecuteNonQuery(strSQL) 0) Response.Write(alert(插入成功); Response.Write(location.assign(show2.aspx); else Response.Write(alert(插入失败); 3.2留言分页显示的制作(1)新建一个Web用户控件fenye1,拖曳4个LinkButton和1个Label、1个TextBox,1个Repeater控件、1个Pannel
5、到fenye1的页面中。(2)效果如图所示:图 2(3)设计完界面后,生成的代码应具有添加留言和分页显示留言的功能,单击“转到”按钮生成的代码如下:protected void Button1_Click(object sender, EventArgs e) int iCurpage = 1; if (txtGoPage.Text != ) iCurpage = Convert.ToInt32(txtGoPage.Text); Response.Redirect(Request.FilePath + ?page= + iCurpage); protected void Button2_Cli
6、ck(object sender, EventArgs e) int iCurpage = 1; if (txtGoPage.Text != ) iCurpage = Convert.ToInt32(txtGoPage.Text); Response.Redirect(add2.aspx); 3.3 多栏分页效果的实现 (1)使用DataList控件和自定义分页技术可以实现多栏显示果,同时使用分页技的术,即可实现分多栏显示数据库中的字段,产生类似于Word中分栏效果。 将fenye1.ascx复制并粘贴到根文件夹,得到”复件fenye1.ascx”,重命名为“fenYeDataList.asc
7、x”。(2)显示的效果如图:图 3(3)fenYeDataList.ascx的源代码如下: 首页 上一页 下一页 末页 第页 3.4头像的添加和显示 (1)添加留言时添加头像,并在显示页面中显示头像。(2)最终生成的效果为:图 4(3)单击“发表留言”生成的代码:protected void Button1_Click(object sender, EventArgs e) string strContent = Server.HtmlEncode(TextBox2.Text); strContent = strContent.Replace(rn,); strContent = strCon
8、tent.Replace(, ); strContent = strContent.Replace( , ); string strTitle = Server.HtmlEncode(TextBox1.Text); strTitle = strTitle.Replace(rn, ); strTitle = strTitle.Replace(, ); strTitle = strTitle.Replace( , ); string strSQL = insert into lyb(留言者,正文,时间,头像) values( + strTitle + , + strCont
9、ent + , + DateTime.Now+ , + DropDownList1.SelectedValue.ToString() + ); if (DbManger.ExecuteNonQuery(strSQL) 0) Response.Write(alert(插入成功); Response.Write(location.assign(show2.aspx); else Response.Write(alert(插入失败); 3.5显示带有头像的留言 (1)在显示留言界面显示留言内容,并将留言时加入的头像显示出来。 (2)将fenye1.ascx复制并粘贴到根文件夹,得到”复件fenye1
10、.ascx”,重命名为“fenye2.ascx”,新建窗体文件show2.aspx,将fenye2.ascx拖曳到该窗体文件中。 修改fenye2.ascx中的代码: img src=images/.jpg alt= 在留言 %#Eval(回复,管理员回复:0) % a href=reply.aspx?id=回复 a href=del.aspx?id=删除 img src=images/.jpg alt= 在留言 %#Eval(回复,管理员回复:0) % a href=reply.aspx?id=回复 a href=del.aspx?id=删除 3.6管理员登录页面的设计 (1)设计管理员登录
11、页面,其中用户名和密码是存储在数据库中的用户表中,考虑到安全问题,在登录时要输入随机生成的验证码。CheckCode.aspx是一个专门用于生成验证码的文件,只要将HTML图像控件的Src属性设置为CheckCode.aspx,即可将生成的验证码显示在图像控件上。 (2)效果如图:图 5 (3)“登录”按钮生成的事件代码:protected void Button1_Click(object sender, EventArgs e) if (TextBox3.Text != Request.CookiesCheckCode.Value.ToString() Response.Write(ale
12、rt(验证码错误!); else string strSQL = SELECT * FROM admin WHERE 用户名= + TextBox1.Text + and 密码= + TextBox2.Text + ; if (DbManger.ExecuteQuery(strSQL).Rows.Count 0) Sessionpass = 1; Response.Redirect(Manger.aspx); else Response.Write(alert(用户名或密码错误!); 3.7留言管理页的建立(1)建立留言管理页,在此管理页中管理员可以查看自己已有的留言,并可以回复和删除指定留言
13、。将fenye2.ascx复制并粘贴到根文件夹,得到”复件fenye2.ascx”,重命名为“fenye3.ascx”,新建窗体文件Manger.aspx,将fenye3.ascx拖曳到该窗体文件中。 (2)效果图如下:图 63.8删除指定留言(1)在管理页中点击某条留言对应的“删除”超链接,删除该留言,并给出删除成功的提示。(2)效果如图:图 7(3)转入del.aspx.cs编辑页面,在其中输入如下代码:protected void Page_Load(object sender, EventArgs e) if (Convert.ToInt16(Sessionpass) != 1) Re
14、sponse.Write(alert(请先登录!); Response.Write(location.assign(login1.aspx); else string strSQL = delete from lyb where id= + Convert.ToInt32(Request.QueryStringid); if (DbManger.ExecuteNonQuery(strSQL) 0) Response.Write(alert(删除成功!); Response.Write(location.assign(Manger.aspx); 3.9回复留言(1)建立一个回复网页,在此页中能够
15、实现原始留言的显示,并能回复此留言。(2)效果如如图:图 8(3)单击“回复留言”的代码为:protected void Button1_Click(object sender, EventArgs e) string strContent = Server.HtmlEncode(TextBox1.Text); strContent = strContent.Replace(rn, ); strContent = strContent.Replace(, ); strContent = strContent.Replace( , ); string strSQL = UPDATE
16、lyb SET 回复= + strContent + WHERE id= + Convert.ToInt32(Request.QueryStringid); if (DbManger.ExecuteNonQuery(strSQL) 0) Response.Write(location.assign(Manger.aspx); else Response.Write(alert(回复失败!); (4)最终完成后生成的界面如图:图 94.心得体会本任务以一个留言板为项目,介绍了数据库操作类结合前面的基础知识实现添加留言、分页显示留言、管理员登录、删除留言、回复留言等功能,其中还介绍了图像的存储、显示及验证码的调用与比较,对于我们初学者来说,是一个较好的练习项目,并且能在此基础上也可以实现一些常见的项目设计。