您好,欢迎访问三七文档
1综合项目练习—留言板系统第九章综合项目练习—留言板系统..................................................................................................19.1留言板系统功能简介....................................................................................................................19.2数据库设计和文件结构设计......................................................................................................29.2.1数据库设计.............................................................................................................................29.2.2系统文件结构设计.................................................................................................................39.3留言板系统实现............................................................................................................................49.3.1用户登录.................................................................................................................................49.3.2用户注册.................................................................................................................................69.3.3留言板首页.............................................................................................................................99.3.4撰写新留言...........................................................................................................................139.3.5查看和回复留言...................................................................................................................159.3.6留言者信息...........................................................................................................................201第九章综合项目练习—留言板系统9.1留言板系统功能简介留言板系统的主要功能:注册模块:用户填写相应信息,进行注册,只有注册之后,用户才有访问留言板的权利。登录模块:用户的身份验证功能。留言板模块:实现用户留言、回复留言、查看留言、查看留言者信息等功能。(最后对系统进行必要的修改:数据库连接字符串,数据库访问类)29.2数据库设计和文件结构设计9.2.1数据库设计系统用到两个数据表Ex09_User和Ex09_GuestBook,其中表Ex09_User存储注册的用户信息,Ex09_GuestBook存储留言信息,表具体的结构如下:图1表Ex09_User结构图2表Ex09_GuestBook结构表Ex09_User中的UserID字段设置为自动增长,而表Ex09_GuestBook中的PostID字段设置为自动增长。ParentID字段用来标记访问者所回复的留言或者是原始留言。原始留言的ParentID为0,而回复他人的留言(跟帖)的ParentID则为对应原始留言的ID。39.2.2系统文件结构设计系统包括6个页面,文件名及其功能如下:Ex_01.aspx:用户登录页面。Ex_02.aspx:新用户注册。Ex_03.aspx:留言板首页,显示留言的标题,可进入留言页面或查看留言内容和回复留言页面。Ex_04.aspx:用户留言页面(添加新帖)。Ex_05.aspx:查看相关标题留言信息,可以回复留言。Ex_06.aspx:显示留言者信息。49.3留言板系统实现建立名称为NoteBook的网站,向网站中添加Ex_01.aspx到Ex_06.aspx等6个网页。9.3.1用户登录(1)打开Ex_01.aspxWeb窗体(2)在【设计】视图下,布局插入表格,4行3列。放两个TextBox控件和两个Button控件,一个LinkButton控件一个Label控件,其中Label1.Text为空,ForeColor为Red。控件的布局效果如图所示:(3)添加命名空间的引用(4)【登录】按钮的Click事件代码如下:判断用户在Ex09_User表中是否存在,存在导航到Ex_03.aspx(留言板主页),不存在则提示错误。[程序改进:如果三次登录失败则锁定用户](5)【取消】按钮的Click事件代码如下:(6)【注册】按钮的Click事件代码如下:Ex_02.aspx是用户注册页面。569.3.2用户注册(1)打开Ex02.aspxWeb窗体(2)在【设计】视图下,布局插入表格,4行3列。放两个TextBox控件和两个Button控件,一个LinkButton控件一个Label控件,其中Label1.Text为空,ForeColor为Red。控件的布局效果如图所示:表1Ex02.aspx控件属性设置7(3)添加命名空间的引用(4)【登录】按钮的Click事件代码如下:将用户填写的资料写入表Ex09_User,注册成功则导航到Ex01.aspx(登录页面),否则提示信息填写的具体错误。8protectedvoidButton1_Click(objectsender,EventArgse){stringstrConn=server=.;uid=sa;pwd=sa;database=AspNet;stringstrCmd=selectcount(*)fromEx09_Userwhere(usernamelike'+TextBox1.Text+'andpwdlike'+TextBox2.Text+');SqlConnectionmyconnection=newSqlConnection();myconnection.ConnectionString=strConn;SqlCommandmyCommand=newSqlCommand(strCmd,myconnection);myCommand.Connection.Open();intflag=(int)myCommand.ExecuteScalar();myCommand.Connection.Close();myconnection.Close();//这条语句可有可无if(flag0){Session[username]=TextBox1.Text;Response.Redirect(Ex09_03.aspx);}else{Label3.Text=对不起!用户名和密码不符,请重新输入。;TextBox1.Text=;TextBox2.Text=;}}(5)【重填】按钮的Click事件代码如下:99.3.3留言板首页(1)打开Ex09_03.aspxWeb窗体(2)在【设计】视图下,从工具箱中拖放一个HyperLink控件、一个Label控件和一个GridView控件,其中Label1.Text为空,ForeColor为Green;HyperLink控件的Text属性为“我要留言...”,NavigateUrl属性为~/Ex09_04.aspx。控件的布局效果如图所示:下面介绍GridView的属性设置。选中GridView智能标记编辑列,添加一个超链接列和两个绑定列。【超链接列】的属性设置如下:DataNavigateUrlFields=PostIDDataTextField=subject10HeaderText=主题DataNavigateUrlFormatString=Ex09_05.aspx?PostID={0}Target=_blank【绑定列1】的属性设置如下:DataField=UserNameHeaderText=留言者【绑定列2】的属性设置如下:DataField=PostTimeHeaderText=留言时间【分页】设置:AllowPaging=TruePagerSettings可以选择Mode(3)添加命名空间的引用usingSystem.Data.SqlClient;(4)在类Ex01_03中声明成员myConnection:protectedSqlConnectionmyconnection=newSqlConnection();11(5)添加自定义函数BindData():从Ex09_GuestBook检索原始帖(parentid为0)绑定到GridView控件并显示。protectedvoidBindData(){stringselCmd=select*fromEx09_GuestBookwhereparentid=0orderbypostTimedesc;SqlDataAdapterda=newSqlDataAdapter(selCmd,myconnection);DataSetds=newDataSet();da.Fill(ds,word);GridView1.DataSource=ds.Tables[0].DefaultView;GridView1.DataBind();}(6)Page_Load事件中添加代码:(7)GridView1的PageIndexChanging事件中添加代码:12protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){GridView1.PageIndex=e.NewPageIndex;BindData();}139.3.4撰写新留言(1)打开Ex_04.aspxWeb窗体,页面上放一个Table、一个Label、两个TextBox(第二个设置为多行)、两个按钮。【设计】视图下的用户界面如图所示:(2)添加命名空间的引用usingSystem.Data.SqlClient(3)在Page_Load事件中添加如下代码:如果访问者没有登录,则跳转到登录界面Ex09_01.aspx。(4)【提交】按钮的Click事件代码如下:14将新留言插入到表Ex09_GuestBook中,表Ex09_GuestBook有6个字段,其中PostID自动生成,ParentID为0,PostTime用GetDate()获取数据库服务器的时间,UserName从Session获取,Subject
本文标题:留言簿文档
链接地址:https://www.777doc.com/doc-4690463 .html