留言簿文档.doc_第1页
留言簿文档.doc_第2页
留言簿文档.doc_第3页
留言簿文档.doc_第4页
留言簿文档.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 综合项目练习 留言板系统 第九章第九章 综合项目练习综合项目练习 留言板系统留言板系统 1 9 1 留言板系统功能简介 1 9 2 数据库设计和文件结构设计 2 9 2 1数据库设计 2 9 2 2系统文件结构设计 3 9 3 留言板系统实现 4 9 3 1用户登录 4 9 3 2用户注册 6 9 3 3留言板首页 9 9 3 4撰写新留言 13 9 3 5查看和回复留言 15 9 3 6留言者信息 20 1 第九章第九章 综合项目练习综合项目练习 留言板系统留言板系统 9 1 留言板系统功能简介留言板系统功能简介 留言板系统的主要功能 注册模块 用户填写相应信息 进行注册 只有注册之后 用户才有访问留言板的权利 登录模块 用户的身份验证功能 留言板模块 实现用户留言 回复留言 查看留言 查看留 言者信息等功能 最后对系统进行必要的修改 数据库连接字符串 数据库访问类 2 9 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 3 9 2 2 系统文件结构设计系统文件结构设计 系统包括 6 个页面 文件名及其功能如下 Ex 01 aspx 用户登录页面 Ex 02 aspx 新用户注册 Ex 03 aspx 留言板首页 显示留言的标题 可进入 留言页面或查看留言内容和回复留言页面 Ex 04 aspx 用户留言页面 添加新帖 Ex 05 aspx 查看相关标题留言信息 可以回复留言 Ex 06 aspx 显示留言者信息 4 9 3 留言板系统实现留言板系统实现 建立名称为 NoteBook 的网站 向网站中添加 Ex 01 aspx 到 Ex 06 aspx 等 6 个网页 9 3 1 用户登录用户登录 1 打开Ex 01 aspx Web 窗体 2 在 设计 视图下 布局 插入 表格 4 行 3 列 放两个 TextBox 控件和两个 Button 控件 一个 LinkButton 控件一个 Label 控件 其中 Label1 Text 为空 ForeColor 为 Red 控件的布局效果 如图所示 3 添加命名空间的引用 4 登录 按钮的 Click 事件代码如下 判断用户在 Ex09 User 表中是否存在 存在导航到 Ex 03 aspx 留 言板主页 不存在则提示错误 程序改进 如果三次登录失败则锁定用户程序改进 如果三次登录失败则锁定用户 5 取消 按钮的 Click 事件代码如下 6 注册 按钮的 Click 事件代码如下 5 Ex 02 aspx 是用户注册页面 6 9 3 2 用户注册用户注册 1 打开 Ex02 aspx Web 窗体 2 在 设计 视图下 布局 插入 表格 4 行 3 列 放两个 TextBox 控件和两个 Button 控件 一个 LinkButton 控件一个 Label 控件 其中 Label1 Text 为空 ForeColor 为 Red 控件的布局效果 如图所示 表 1 Ex02 aspx 控件属性设置 7 3 添加命名空间的引用 4 登录 按钮的 Click 事件代码如下 将用户填写的资料写入表 Ex09 User 注册成功则导航到 Ex01 aspx 登录页面 否则提示信息填写的具体错误 8 protected void Button1 Click object sender EventArgs e string strConn server uid sa pwd sa database AspNet string strCmd select count from Ex09 User where username like TextBox1 Text and pwd like TextBox2 Text SqlConnection myconnection new SqlConnection myconnection ConnectionString strConn SqlCommand myCommand new SqlCommand strCmd myconnection myCommand Connection Open int flag int myCommand ExecuteScalar myCommand Connection Close myconnection Close 这条语句可有可无 if flag 0 Session username TextBox1 Text Response Redirect Ex09 03 aspx else Label3 Text 对不起 用户名和密码不符 请重新输入 TextBox1 Text TextBox2 Text 5 重填 按钮的 Click 事件代码如下 9 9 3 3 留言板首页留言板首页 1 打开 Ex09 03 aspx Web 窗体 2 在 设计 视图下 从工具箱中拖放一个 HyperLink 控件 一个 Label 控件和一个 GridView 控件 其中 Label1 Text 为空 ForeColor 为 Green HyperLink 控件的 Text 属性为 我要留言 NavigateUrl 属性为 Ex09 04 aspx 控件的布局效果如图所示 下面介绍 GridView 的属性设置 选中 GridView 智能标记 编辑列 添加一个超链接列和两个绑定 列 超链接列 的属性设置如下 10 DataNavigateUrlFields PostID DataTextField subject HeaderText 主题 DataNavigateUrlFormatString Ex09 05 aspx PostID 0 Target blank 绑定列 1 的属性设置如下 DataField UserName HeaderText 留言者 绑定列2 的属性设置如下 DataField PostTime HeaderText 留言时间 分页 设置 AllowPaging True PagerSettings可以选择Mode 3 添加命名空间的引用 using System Data SqlClient 4 在类 Ex01 03 中声明成员 myConnection protected SqlConnection myconnection new SqlConnection 11 5 添加自定义函数 BindData 从从 Ex09 GuestBookEx09 GuestBook 检索原始帖检索原始帖 parentid parentid 为为 0 0 绑定到绑定到 GridViewGridView 控控 件并显示 件并显示 protected void BindData string selCmd select from Ex09 GuestBook where parentid 0 order by postTime desc SqlDataAdapter da new SqlDataAdapter selCmd myconnection DataSet ds new DataSet da Fill ds word GridView1 DataSource ds Tables 0 DefaultView GridView1 DataBind 6 Page Load 事件中添加代码 7 GridView1 的 PageIndexChanging 事件中添加代码 12 protected void GridView1 PageIndexChanging object sender GridViewPageEventArgs e GridView1 PageIndex e NewPageIndex BindData 13 9 3 4 撰写新留言撰写新留言 1 打开 Ex 04 aspx Web 窗体 页面上放一个 Table 一个 Label 两个 TextBox 第二个设置为多行 两个按钮 设计 视图下的用 户界面如图所示 2 添加命名空间的引用 using System Data SqlClient 3 在 Page Load 事件中添加如下代码 如果访问者没有登录 则跳转到登录界面 Ex09 01 aspx 4 提交 按钮的 Click 事件代码如下 14 将新留言插入到表 Ex09 GuestBook 中 表 Ex09 GuestBook 有 6 个字段 其中 PostID 自动生成 ParentID 为 0 PostTime 用 GetDate 获取数据库服务器的时间 UserName 从 Session 获取 Subject 和 Content 在用户界面填写 string strConn server uid sa pwd sa database AspNet SqlConnection myconnection new SqlConnection myconnection ConnectionString strConn myconnection Open SqlCommand sc new SqlCommand selectcount myconnection string strCmd insert Ex09 GuestBook ParentID PostTime UserName Subject Content strCmd values 0 getdate Session username ToString TextBox1 Text TextBox2 Text SqlCommand myCommand new SqlCommand strCmd myconnection myCommand ExecuteNonQuery myconnection Close Response Redirect Ex09 03 aspx 5 重写 按钮的 Click 事件代码如下 protected void Button2 Click object sender EventArgs e TextBox1 Text TextBox2 Text 15 9 3 5 查看和回复留言查看和回复留言 1 打开 Ex09 05 aspx Web 窗体 在 设计 视图下 从工具箱中 拖放一个 HyperLink 控件 两个按钮 四个 Label 控件和一个 DataList 控件 其中按钮的 Text 属性分别为 回复 和 重写 控件的布局效果如图所示 2 选中 DataList 智能标记 编辑模板 模板编辑窗口如下所示 设置后 结束模板编辑 3 行 3 列的表格 相应位置添加控件和文字 在 Html 源 视图下设置三个 Label 的属性 如下所示 黑体部分 16 为设置的属性部分 回复者 asp Label ID Label5 runat server Text DataBinder Eval Container DataItem Username Text asp Label ID Label6 runat server Text DataBinder Eval Container DataItem PostTime Text 17 asp Label ID Label7 runat server Text DataBinder Eval Container DataItem Content Text 3 添加命名空间的引用 using System Data SqlClient 4 在类 Ex01 05 中声明成员 myConnection 和 postID protected SqlConnection myconnection new SqlConnection protected string postID 5 Page Load 事件中添加代码 6 添加自定义函数 BindData 18 private void BindData string selCmd1 select from Ex09 GuestBook where PostID postID SqlDataAdapter da1 new SqlDataAdapter selCmd1 myConnetion string selCmd2 select from Ex09 GuestBook where ParentID postID SqlDataAdapter da2 new SqlDataAdapter selCmd2 myConnetion DataSet ds new DataSet da1 Fill ds host da2 Fill ds guest Label1 Text ds Tables host Rows 0 4 ToString int reCount ds Tables guest Rows Count Label2 Text reCount ToString Label3 Text ds Tables host Rows 0 2 ToString Label4 Text ds Tables host Rows 0 5 ToString HyperLink1 Text ds Tables host Rows 0 3 ToString HyperLink1 NavigateUrl Ex09 06 aspx UserName HyperLink1 Text 19 DataList1 DataSource ds DataList1 DataMember guest DataList1 DataBind this DataBind myConnetion Close 7 回复 按钮事件中添加代码 protected void Button2 Click object sender EventArgs e string Name Session username ToString myConnetion Open string InsCmd insert into Ex09 GuestBook values postID getdate Name TextBox1 Text SqlCommand myCommand new SqlCommand InsCmd myConnetion myCommand ExecuteNonQuery myConnetion Close 这条语句可有可无 BindData TextBox1 Text 20 9 3 6 留言者信息留言者信息 1 打开 Ex 06 aspx Web 窗体 设计 视图下的界面上只放一个 Repeater 控件 由于 Repeater 控件没有内置的布局或样式 必须 在 Repe

温馨提示

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

评论

0/150

提交评论