首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

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

打印文章

分享到:
留言板分三个模块:列出留言列表、显示详细内容、发表留言
notepage.cs
namespace  notpage
{
using  System;
using  System.Data.SQL  ;
using  System.Data  ;
using  System.Collections  ;



////////////////////////////////////////////////////////////////////
//
//  Class  Name  :  留言板
//
//  Description:  构造一个留言板对象
//
//  date:  2000/06/06
//
//  作者:  天啦
///  ////////////////////////////////////////////////////////////////


///  <summary>
///  Summary  description  for  notepage.
///  </summary>


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
{
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;

}

///  <summary>
///  
///  取得留言的内容
///  
///  </summary>
///  <param  name="a_intID">  </param>
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;

}

///  <summary>
///  
///  目的:将留言的内容入库
///  
///  利用构造函数来传递信息
///  
///  </summary>
///  <param  name="n_Topic">  </param>
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;



}


///  <summary>
///  取的贴子列表
///  </summary>
///  <remarks>
///  返回一个Topic数组
///  </remarks>
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  ;</P><P>  ///  <summary>
///  Summary  description  for  myconn.
///  </summary>
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.Password  =  ""  ;
}
}
}
添加留言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;</P><P>  ///  <summary>
///  Summary  description  for  AddTopic.
///  </summary>
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);
}</P><P>  protected  void  Page_Load(object  sender,  EventArgs  e)
{
if  (!IsPostBack)
{
//
//  Evals  true  first  time  browser  hits  the  page
//
}
}</P><P>  protected  void  Page_Init(object  sender,  EventArgs  e)
{
//
//  CODEGEN:  This  call  is  required  by  the  ASP+  Windows  Form  Designer.
//
InitializeComponent();
}</P><P>  ///  <summary>
///  Required  method  for  Designer  support  -  do  not  modify
///  the  contents  of  this  method  with  the  code  editor.
///  </summary>
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  ("<p  align=center  class=cn>成功留言,点击<a  href  =  list.aspx>此处</a>查看留言列表!。</p>")  ;
}
}
catch(Exception  exp)
{
#if  DEBUG
Response.Write  ("出现异常:"  +  exp.Message)  ;
return  ;
#endif//DEBUG

}
}


}</P><P>  }
}
显示列表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>
<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;</P><P>  </P><P>
///  <summary>
///  Summary  description  for  list.
///  </summary>
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><P>  protected  void  Page_Load(object  sender,  EventArgs  e)
{
if  (!IsPostBack)
{
//
//  Evals  true  first  time  browser  hits  the  page
//
}
}</P><P>  protected  void  Page_Init(object  sender,  EventArgs  e)
{
//
//  CODEGEN:  This  call  is  required  by  the  ASP+  Windows  Form  Designer.
//
InitializeComponent();
Init_tdtitle();
</P><P>  }
</P><P>  ///  <summary>
///  Required  method  for  Designer  support  -  do  not  modify
///  the  contents  of  this  method  with  the  code  editor.
///  </summary>
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();</P><P>  ArrayList  arrTopic  =  np.GetTopicList();

for  (  int  i  =  0  ;  i  <  arrTopic.Count  ;  i  ++)
{  
notepage  objTopic  =  (notepage)arrTopic[i]  ;
string  str  ="<tr><td><a  href  =  showTopic.aspx?id="+objTopic.ID.ToString()+">"  +  objTopic.Title.ToString()  +  "</a></td>";
str  =  str  +"<td>"  +  objTopic.Author.ToString()+"</td>";
str  =  str  +"<td>"  +  objTopic.adddate.ToString()+"</td></tr>";
n_tdtitle.Text  =  str  +  n_tdtitle.Text;
}
}
catch(Exception  e)
{
throw(new  Exception("取得贴子列表出错:"  +  e.ToString()))  ;
}</P><P>  }
}
}
查看留言内容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;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;</P><P>  ///  <summary>
///  Summary  description  for  showTopic.
///  </summary>
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);
}</P><P>  protected  void  Page_Load(object  sender,  EventArgs  e)
{
if  (!IsPostBack)
{
//
//  Evals  true  first  time  browser  hits  the  page
//
}
}</P><P>  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();
}</P><P>  ///  <summary>
///  Required  method  for  Designer  support  -  do  not  modify
///  the  contents  of  this  method  with  the  code  editor.
///  </summary>
private  void  InitializeComponent()
{
this.Load  +=  new  System.EventHandler  (this.Page_Load);
}
}
}

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章