利用C#制作简单的留言板的方法

来源:网络时间:2011-06-22 13:01:22

  留言板分三个模块:列出留言列表、显示详细内容、发表留言

  notepage.cs

  namespace notpage

  {

  using System;

  using System.Data.SQL ;

  using System.Data ;

  using System.Collections ;

  ////////////////////////////////////////////////////////////////////

  //

  // Class Name : 留言板

  //

  // Description: 构造一个留言板对象

  //

  // date: 2000/06/06

  //

  // 作者: 天啦

  /// ////////////////////////////////////////////////////////////////

  ///

  /// Summary description for notepage.

  ///

  public class notepage

  {

  //私有变量

  private int n_intID ; //ID编号

  private string n_strTitle ; //主题

  private string n_strAuthor ; //留言人

  private string n_strContent ; //留言内容

  private DateTIMe n_dateTime ; //留言时间

  //属性

  public int ID

  {

  get

  {

  return n_intID ;

  }

  set

  {

  n_intID = value;

  }

  }

  public string Title

  {

  get

  {

  return n_strTitle ;

  }

  set

  {

  n_strTitle = value;

  }

  }

  public string Author

  {

  &nbs

  p; get

  {

  return n_strAuthor ;

  }

  set

  {

  n_strAuthor = value ;

  }

  }

  public string Content

  {

  get

  {

  return n_strContent ;

  }

  set

  {

  n_strContent = value ;

  }

  }

  public DateTime adddate

  {

  get

  {

  return n_dateTime;

  }

  set

  {

  n_dateTime = value;

  }

  }

  //构造函数

  public notepage()

  {

  //

  // TODO: Add Constructor Logic here

  //

  this.n_intID = 0 ;

  this.n_strTitle = "" ;

  this.n_strAuthor = "" ;

  this.n_strContent = "" ;

  this.n_dateTime = System.DateTime.Now;

  }

  ///

  ///

  /// 取得留言的内容

  ///

  ///

  ///

  public notepage GetTopic(int a_intID)

  {

  //

  // TODO: Add Constructor Logic here

  //

  //读取数据库

  myconn myConn = new myconn();

  SQLCommand myCommand = new SQLCommand() ;

  myCommand.ActiveConnection = myConn ;

  myCommand.CommandText = "n_GetTopicInfo" ; //调用

  存储过程

  myCommand.CommandType = CommandType.StoredProcedure ;

  myCommand.Parameters.Add(new SQLParameter("@a_intTopicID" , SQLDataType.Int)) ;

  myCommand.Parameters["@a_intTopicID"].Value = a_intID ;

  notepage objNp = new notepage();

  try

  {

  myConn.Open() ;

  SQLDataReader myReader ;

  myCommand.Execute(out myReader) ;

  if (myReader.Read())

  {

  objNp.ID = (int)myReader["ID"] ;

  objNp.Title = (string)myReader["Title"] ;

  objNp.Author = (string)myReader["Author"] ;

  objNp.Content = (string)myReader["Content"];

  objNp.adddate = (DateTime)myReader["adddate"];

  }

  //清场

  myReader.Close();

  myConn.Close() ;

  }

  catch(Exception e)

  {

  throw(new Exception("取贴子失败:" + e.ToString())) ;

  }

  return objNp;

  }

  ///

  ///

  /// 目的:将留言的内容入库

  ///

  /// 利用构造函数来传递信息

  ///

  ///

  ///

  public bool AddTopic(notepage n_Topic)

  {

  //

  // TODO: Add Constructor Logic here

  //

  //读取数据库

  myconn myConn = new myconn();

  SQLCommand myCommand = new SQLCommand() ;

  myCommand.ActiveConnection = myConn ;

  myCommand

  .CommandText = "n_addTopic" ; //调用存储过程

  myCommand.CommandType = CommandType.StoredProcedure ;

  myCommand.Parameters.Add(new SQLParameter("@a_strTitle" , SQLDataType.VarChar,100)) ;

  myCommand.Parameters["@a_strTitle"].Value = n_Topic.Title ;

  myCommand.Parameters.Add(new SQLParameter("@a_strAuthor" , SQLDataType.VarChar,50)) ;

  myCommand.Parameters["@a_strAuthor"].Value = n_Topic.Author ;

  myCommand.Parameters.Add(new SQLParameter("@a_strContent" , SQLDataType.VarChar,2000)) ;

  myCommand.Parameters["@a_strContent"].Value = n_Topic.Content ;

  try

  {

  myConn.Open() ;

  myCommand.ExecuteNonQuery() ;

  //清场

  myConn.Close() ;

  }

  catch(Exception e)

  {

  throw(new Exception("取贴子失败:" + e.ToString())) ;

  }

  return true;

  }

  ///

  /// 取的贴子列表

  ///

  ///

  /// 返回一个Topic数组

  ///

  public ArrayList GetTopicList()

  {

  //定义一个forum数组做为返回值

  ArrayList arrForumList =new ArrayList() ;

  //从数据库中读取留言列表

  myconn myConn = new myconn();

  SQLCommand myCommand = new SQLCommand() ;

  myCommand.ActiveConnection = myConn ;

  myCommand.CommandText = "n_GetTopicList" ; //调用存储过程

  myCommand.CommandType = CommandType.StoredProcedure ;

  try

  {
; myConn.Open() ;

  SQLDataReader myReader ;

  myCommand.Execute(out myReader) ;

  for (int i = 0 ; myReader.Read() ; i++)

  {

  notepage objItem = new notepage() ;

  objItem.ID = myReader["ID"].ToString()。ToInt32() ;

  objItem.Title = myReader["Title"].ToString() ;

  objItem.Author = myReader["Author"].ToString() ;

  objItem.adddate = myReader["adddate"].ToString()。ToDateTime();

  objItem.Content = myReader["Content"].ToString();

  arrForumList.Add(objItem) ;

  }

  //清场

  myReader.Close();

  myConn.Close() ;

  }

  catch(SQLException e)

  {

  throw(new Exception("数据库出错:" + e.ToString())) ;

  //return null ;

  }

  return arrForumList ;

  }

  }

  }

  myconn.cs

  namespace notpage

  {

  using System;

  using System.Data.SQL ;

  ///

  /// Summary description for myconn.

  ///

  public class myconn:System.Data.SQL.SQLConnection

  {

  private void InitializeComponent ()

  {

  }

  public myconn()

  {

  //

  // TODO: Add Constructor Logic here

  //

  this.Database = "back" ;

  this.DataSource = "LUOCHANG" ;

  this.UserID = "sa" ;

  this.Pas

  sword = "" ;

  }

  }

  }

  添加留言addTopic.aspx

  <%@ Page language="c#" Codebehind="AddTopic.cs" AutoEventWireup="false" Inherits="notpage.AddTopic" %>

  <html><head>

  <meta content="Microsoft Visual Studio 7.0" name=GENERATOR>

  <meta content=C# name=CODE_LANGUAGE></head>

  <body>

  <form method=post runat="server">

  <table cellSpacing=1 cellPadding=1 width="88%" border=0>

  <tr>

  <td>留言主题:</TD>

  <td><asp:textbox id=txtTitle runat="server" maxlength="80" columns="65"></asp:textbox></TD></TR>

  <tr>

  <td>姓名:</TD>

  <td><asp:textbox id=txtAuthor runat="server" maxlength="40" columns="20"></asp:textbox></TD></TR>

  <tr>

  <td>留言内容</TD>

  <td><asp:textbox id=txtContent runat="server" maxlength="2000" columns="50" rows="20" TextMode="MultiLine"></asp:textbox><asp:button

  id=btnSubmit runat="Server"

  text="确认"></asp:button></TD></TR></TABLE></FORM>

  </body></html></P><P>对应的cs

  namespace notpage

  {

  using System;
using System.Collections;

  using System.ComponentModel;

  using System.Data;

  using System.Drawing;

  using System.Web;

  using System.Web.SessionState;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.HtmlControls;

  ///

  /// Summary description for AddTopic.

  ///

  public class AddTopic : System.Web.UI.Page

  {

  protected System.Web.UI.WebControls.TextBox txtContent;

  protected System.Web.UI.WebControls.TextBox txtAuthor;

  protected System.Web.UI.WebControls.TextBox txtTitle;

  protected System.Web.UI.WebControls.Button btnSubmit;

  public AddTopic()

  {

  Page.Init += new System.EventHandler(Page_Init);

  }

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!IsPostBack)

  {

  //

  // Evals true first time browser hits the page

  //

  }

  }

  protected void Page_Init(object sender, EventArgs e)

  {

  //

  // CODEGEN: This call is required by the ASP+ windows Form Designer.

  //

  InitializeComponent();

  }

  ///

  /// Required method for Designer support - do not modify

  /// the contents of this method with the code editor.
///

  private void InitializeComponent()

  {

  btnSubmit.Click += new System.EventHandler (this.OnSubmit);

  this.Load += new System.EventHandler (this.Page_Load);

  }

  public void OnSubmit(Object sender , EventArgs e)

  {

  if (Page.IsValid)

  {

  //数据入库

  try

  {

  notepage objNp = new notepage();

  objNp.Title = txtTitle.Text;

  objNp.Author = txtAuthor.Text;

  objNp.Content = txtContent.Text;

  objNp.adddate = System.DateTime.Now;

  notepage objNp1 = new notepage();

  if(objNp1.AddTopic(objNp))

  {

  Response.Write ("

  成功留言,点击此处查看留言列表!。

  ") ;

  }

  }

  catch(Exception exp)

  {

  #if DEBUG

  Response.Write ("出现异常:" + exp.Message) ;

  return ;

  #endif//DEBUG

  }

  }

  }

  }

  }

  显示列表list.aspx

  <%@ Page language="c#" Codebehind="list.cs" AutoEventWireup="false" Inherits="notpage.list" %>

  <html><head>

  <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">

  <meta name="CODE_LANGUAGE" Content="C#"></head>
&nbs

  p; <body>

  <form method="post" runat="server"></P><P> </form><a href = "addTopic.aspx">发表留言</a><br>

  <TABLE WIDTH="90%" HEIGHT="1" BORDER="0" CELLSPACING="2" CELLPADDING="2" id=liuyan>

  <TR>

  <TD>主题</TD>

  <TD>留言人</TD>

  <TD>留言时间</TD>

  </TR>

  <asp:label id="n_tdtitle" runat=Server></asp:label>

  </TABLE></P><P> </body></html>

  namespace notpage

  {

  using System;

  using System.Collections;

  using System.ComponentModel;

  using System.Data;

  using System.Drawing;

  using System.Web;

  using System.Web.SessionState;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.HtmlControls;

  ///

  /// Summary description for list.

  ///

  public class list : System.Web.UI.Page

  {

  protected System.Web.UI.WebControls.Label n_tdtitle;

  public list()

  {

  Page.Init += new System.EventHandler(Page_Init);

  }

#p#副标题#e#

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!IsPostBack)

  {

  //

  // Evals true first time browser hits the page

  //
&n

  bsp; }

  }

  protected void Page_Init(object sender, EventArgs e)

  {

  //

  // CODEGEN: This call is required by the ASP+ Windows Form Designer.

  //

  InitializeComponent();

  Init_tdtitle();

  }

  ///

  /// Required method for Designer support - do not modify

  /// the contents of this method with the code editor.

  ///

  private void InitializeComponent()

  {

  this.Load += new System.EventHandler (this.Page_Load);

  }

  protected void Init_tdtitle()

  {

  InitializeComponent();

  //

  // CODEGEN: This call is required by the ASP+ Windows Form Designer.

  //

  try

  {

  notepage np = new notepage();

  ArrayList arrTopic = np.GetTopicList();

  for ( int i = 0 ; i < arrTopic.Count ; i ++)

  {

  notepage objTopic = (notepage)arrTopic[i] ;

  string str ="" + objTopic.Title.ToString() + "";

  str = str +"" + objTopic.Author.ToString()+"";

  str = str +"" + objTopic.adddate.ToString()+"";

  n_tdtitle.Text = str + n_tdtitle.Text;

  }

  }

  catch(Exception e)

  {

  throw(new Exception("取得贴子列表出错:" + e.ToString())) ;

  }

  }

  }

  }
查看留言内容showtopic.aspx

  <%@ Page language="c#" Codebehind="showTopic.cs" AutoEventWireup="false" Inherits="notpage.showTopic" %>

  <html><head>

  <meta content="Microsoft Visual Studio 7.0" name=GENERATOR>

  <meta content=C# name=CODE_LANGUAGE></head>

  <body>

  <form method=post runat="server">

  <p align=center><font color=red><b>察看留言</b></font></p><br>

  <p align=left><font color=blue>留言主题:<asp:label id=n_tdtitle runat="Server" forecolor="Black"></asp:label>

  <br>留言时间:<asp:label id=n_tdAdddate runat="Server" forecolor="Black"></asp:label><br></font><font color=blue>留言人:

  <asp:label

  id=n_tdAuthor runat="server" forecolor="Black"></asp:label><br>留言内容:<asp:label id=n_tdContent

  runat="Server" forecolor="Black"></asp:label> </font></p></form>

  </body></html>

  对应的cs

  namespace notpage

  {

  using System;

  using System.Collections;

  using System.ComponentModel;

  using System.Data;

  using System.Drawing;

  using System.Web;

  using System.Web.SessionState;

  using System.Web.UI;
&nbs

  p; using System.Web.UI.WebControls;

  using System.Web.UI.HtmlControls;

  ///

  /// Summary description for showTopic.

  ///

  public class showTopic : System.Web.UI.Page

  {

  protected System.Web.UI.WebControls.Label n_tdAuthor;

  protected System.Web.UI.WebControls.Label td;

  protected System.Web.UI.WebControls.Label n_tdContent;

  protected System.Web.UI.WebControls.Label n_tdAdddate;

  protected System.Web.UI.WebControls.Label n_tdtitle;

  protected System.Web.UI.WebControls.Label n_ttitle;

  public showTopic()

  {

  Page.Init += new System.EventHandler(Page_Init);

  }

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!IsPostBack)

  {

  //

  // Evals true first time browser hits the page

  //

  }

  }

  protected void Page_Init(object sender, EventArgs e)

  {

  //

  // CODEGEN: This call is required by the ASP+ Windows Form Designer.

  //

  int int_ID;

  int_ID = Request.QueryString["ID"].ToInt32();

  notepage np = new notepage();

  notepage objNp = np.GetTopic(int_ID);

  n_tdtitle.Text = objNp.Title.ToString();

  n_tdContent.Text = objNp.Content.ToString();

  n_tdAuthor.Text = objNp.Author.ToString();

  n_tdAdddate.Text = objNp.adddate.ToString();

  InitializeComponent

  ();

  }

  ///

  /// Required method for Designer support - do not modify

  /// the contents of this method with the code editor.

  ///

  private void InitializeComponent()

  {

  this.Load += new System.EventHandler (this.Page_Load);

  }

  }#p#副标题#e#

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:9145908@qq.com