文章教程

20.8留言发布模块

8/31/2020 9:56:04 PM 人评论 次浏览

接下来开始留言发布模块的编码工作。留言发布模块的功能是将用户发布的留言信息添加到系统库中。此模块的功能是由文件Index.aspx.cs实现的,其具体实现过程如下。

(1)引入命名空间,声明类Board。

(2)通过Page_Load载入初始化发布表单界面。

(3)IP地址判断处理。如果IP为空,则停止处理。

(4)定义btnCommit_Click,进行数据处理。

(5)验证码判断处理。如果非法,则输出提示。

(6)将数据添加到系统库中。

上述过程的运行流程如图20-13所示。

图20-13 留言发布处理流程图

文件Index.aspx.cs的主要实现代码如下。

……
using AjaxControlToolkit;
using ASPNETAJAXWeb.ValidateCode.Page;
public partial class Board : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  { //获取客户端的IP地址
    tbIP.Text = Request.UserHostAddress;
    if(!Page.IsPostBack)
    {
      BindPageData();
    }
    sm.RegisterAsyncPostBackControl(tbMessage);
  }
  private void BindPageData()
  { //获取数据
    Message message = new Message();
    DataSet ds = message.GetMessages();
    //显示数据
    gvMessage.DataSource = ds;
    gvMessage.DataBind();
  }
  protected void btnCommit_Click(object sender,EventArgs e)
  {
    if(Session[ValidateCode.VALIDATECODEKEY] != null)
    { //验证验证码是否相等
      if(tbCode.Text != Session[ValidateCode.VALIDATECODEKEY].ToString())
      {
        lbMessage.Text = "验证码输入错误,请重新输入";
        return;
      }
      Message message = new Message();
      //发表留言
    if(message.AddMessage(tbTitle.Text,tbMessage.Text,Request.UserHostAddress,tbEmail.Text) > 0)
      {  //重新显示数据 
        BindPageData();
      }
    }
  }
  protected void btnClear_Click(object sender,EventArgs e)
  {
    tbMessage.Text = string.Empty;
  }
}

从留言发布模块的实现过程中可以看出,留言回复和留言发布的实现过程基本类似,都是基于数据库的添加处理,不同的是留言发布的数据被添加到数据库内的留言信息表,而发布的回复数据被添加到数据库内的回复信息表。

教程类别