熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

利用C#制作簡單的留言板

2013-11-13 10:12:26  來源: .NET編程 

  留言板分三個模塊列出留言列表顯示詳細內容發表留言

  notepagecs

  namespace  notpage

  {

  using  System;

  using  SystemDataSQL  ;

  using  SystemData  ;

  using  SystemCollections  ;

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

  //

  //  Class  Name  :  留言板

  //

  //  Description:  構造一個留言板對象

  //

  //  date:  //

  //

  //  作者  天啦

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

  ///  <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

  //

  thisn_intID  =    ;

  thisn_strTitle  =    ;

  thisn_strAuthor  =    ;

  thisn_strContent  =    ;

  thisn_dateTime  =  SystemDateTimeNow;

  }

  ///  <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()  ;

  myCommandActiveConnection  =  myConn  ;

  myCommandCommandText  =  n_GetTopicInfo  ;  //調用存儲過程

  myCommandCommandType  =  CommandTypeStoredProcedure  ;

  myCommandParametersAdd(new  SQLParameter(@a_intTopicID    SQLDataTypeInt))  ;

  myCommandParameters[@a_intTopicID]Value  =  a_intID  ;

  notepage  objNp  =  new  notepage();

  try

  {

  myConnOpen()  ;

  SQLDataReader  myReader  ;

  myCommandExecute(out  myReader)  ;

  if  (myReaderRead())

  {

  objNpID  =  (int)myReader[ID]  ;

  objNpTitle  =  (string)myReader[Title]  ;

  objNpAuthor  =  (string)myReader[Author]  ;

  objNpContent  =  (string)myReader[Content];

  objNpadddate  =  (DateTime)myReader[adddate];

  }

  //清場

  myReaderClose();

  myConnClose()  ;

  }

  catch(Exception  e)

  {

  throw(new  Exception(取貼子失敗:  +  eToString()))  ;

  }

  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()  ;

  myCommandActiveConnection  =  myConn  ;

  myCommandCommandText  =  n_addTopic  ;  //調用存儲過程

  myCommandCommandType  =  CommandTypeStoredProcedure  ;

  myCommandParametersAdd(new  SQLParameter(@a_strTitle    SQLDataTypeVarChar))  ;

  myCommandParameters[@a_strTitle]Value  =  n_TopicTitle  ;

  myCommandParametersAdd(new  SQLParameter(@a_strAuthor    SQLDataTypeVarChar))  ;

  myCommandParameters[@a_strAuthor]Value  =  n_TopicAuthor  ;

  myCommandParametersAdd(new  SQLParameter(@a_strContent    SQLDataTypeVarChar))  ;

  myCommandParameters[@a_strContent]Value  =  n_TopicContent  ;

  try

  {

  myConnOpen()  ;

  myCommandExecuteNonQuery()  ;

  //清場

  myConnClose()  ;

  }

  catch(Exception  e)

  {

  throw(new  Exception(取貼子失敗:  +  eToString()))  ;

  }

  return  true;

  }

  ///  <summary>

  ///  取的貼子列表

  ///  </summary>

  ///  <remarks>

  ///  返回一個Topic數組

  ///  </remarks>

  public  ArrayList  GetTopicList()

  {

  //定義一個forum數組做為返回值

  ArrayList  arrForumList  =new  ArrayList()  ;

  //從數據庫中讀取留言列表

  myconn  myConn  =  new  myconn();

  SQLCommand  myCommand  =  new  SQLCommand()  ;

  myCommandActiveConnection  =  myConn  ;

  myCommandCommandText  =  n_GetTopicList  ;  //調用存儲過程

  myCommandCommandType  =  CommandTypeStoredProcedure  ;

  try

  {

  myConnOpen()  ;

  SQLDataReader  myReader  ;

  myCommandExecute(out  myReader)  ;

  for  (int  i  =    ;  myReaderRead()  ;  i++)

  {

  notepage  objItem  =  new  notepage()  ;

  objItemID  =  myReader[ID]ToString()ToInt()  ;

  objItemTitle  =  myReader[Title]ToString()  ;

  objItemAuthor  =  myReader[Author]ToString()  ;

  objItemadddate  =  myReader[adddate]ToString()ToDateTime();

  objItemContent  =  myReader[Content]ToString();

  arrForumListAdd(objItem)  ;

  }

  //清場

  myReaderClose();

  myConnClose()  ;

  }

  catch(SQLException  e)

  {

  throw(new  Exception(數據庫出錯:  +  eToString()))  ;

  //return  null  ;

  }

  return  arrForumList  ;

  }

  }

  }

  myconncs

  namespace  notpage

  {

  using  System;

  using  SystemDataSQL  ;</P><P>  ///  <summary>

  ///  Summary  description  for  myconn

  ///  </summary>

  public  class  myconn:SystemDataSQLSQLConnection

  {

  private  void  InitializeComponent  ()

  {

  }

  public  myconn()

  {

  //

  //  TODO:  Add  Constructor  Logic  here

  //

  thisDatabase  =  back  ;

  thisDataSource  =  LUOCHANG  ;

  thisUserID  =  sa  ;

  thisPassword  =    ;

  }

  }

  }

  添加留言addTopicaspx

  <%@  Page  language=c#  Codebehind=AddTopiccs  AutoEventWireup=false  Inherits=notpageAddTopic  %>

  <html><head>

  <meta  content=Microsoft  Visual  Studio    name=GENERATOR>

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

  <body>

  <form  method=post  runat=server>

  <table  cellSpacing=  cellPadding=  width=%  border=>

  <tr>

  <td>留言主題</TD>

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

  <tr>

  <td>姓名</TD>

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

  <tr>

  <td>留言內容</TD>

  <td><asp:textbox  id=txtContent  runat=server  maxlength=  columns=  rows=  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  SystemCollections;

  using  SystemComponentModel;

  using  SystemData;

  using  SystemDrawing;

  using  SystemWeb;

  using  SystemWebSessionState;

  using  SystemWebUI;

  using  SystemWebUIWebControls;

  using  SystemWebUIHtmlControls;</P><P>  ///  <summary>

  ///  Summary  description  for  AddTopic

  ///  </summary>

  public  class  AddTopic  :  SystemWebUIPage

  {

  protected  SystemWebUIWebControlsTextBox  txtContent;

  protected  SystemWebUIWebControlsTextBox  txtAuthor;

  protected  SystemWebUIWebControlsTextBox  txtTitle;

  protected  SystemWebUIWebControlsButton  btnSubmit;

  public  AddTopic()

  {

  PageInit  +=  new  SystemEventHandler(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()

  {

  btnSubmitClick  +=  new  SystemEventHandler  (thisOnSubmit);

  thisLoad  +=  new  SystemEventHandler  (thisPage_Load);

  }

  public  void  OnSubmit(Object  sender    EventArgs  e)

  {

  if  (PageIsValid)

  {

  //數據入庫

  try

  {

  notepage  objNp  =  new  notepage();

  objNpTitle  =  txtTitleText;

  objNpAuthor  =  txtAuthorText;

  objNpContent  =  txtContentText;

  objNpadddate  =  SystemDateTimeNow;

  notepage  objNp  =  new  notepage();

  if(objNpAddTopic(objNp))

  {

  ResponseWrite  (<p  align=center  class=cn>成功留言點擊<a  href  =  listaspx>此處</a>查看留言列表!</p>)  ;

  }

  }

  catch(Exception  exp)

  {

  #if  DEBUG

  ResponseWrite  (出現異常  +  expMessage)  ;

  return  ;

  #endif//DEBUG

  }

  }

  }</P><P>  }

  }

  顯示列表listaspx

  <%@  Page  language=c#  Codebehind=listcs  AutoEventWireup=false  Inherits=notpagelist  %>

  <html><head>

  <meta  name=GENERATOR  Content=Microsoft  Visual  Studio  >

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

  <body>

  <form  method=post  runat=server></P><P>  </form><a  href  =  addTopicaspx>發表留言</a><br>

  <TABLE  WIDTH=%  HEIGHT=  BORDER=  CELLSPACING=  CELLPADDING=  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  SystemCollections;

  using  SystemComponentModel;

  using  SystemData;

  using  SystemDrawing;

  using  SystemWeb;

  using  SystemWebSessionState;

  using  SystemWebUI;

  using  SystemWebUIWebControls;

  using  SystemWebUIHtmlControls;</P><P>  </P><P>

  ///  <summary>

  ///  Summary  description  for  list

  ///  </summary>

  public  class  list  :  SystemWebUIPage

  {

  protected  SystemWebUIWebControlsLabel  n_tdtitle;

  public  list()

  {

  PageInit  +=  new  SystemEventHandler(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()

  {

  thisLoad  +=  new  SystemEventHandler  (thisPage_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  =  npGetTopicList();

  for  (  int  i  =    ;  i  <  arrTopicCount  ;  i  ++)

  {

  notepage  objTopic  =  (notepage)arrTopic[i]  ;

  string  str  =<tr><td><a  href  =  showTopicaspx?id=+objTopicIDToString()+>  +  objTopicTitleToString()  +  </a></td>;

  str  =  str  +<td>  +  objTopicAuthorToString()+</td>;

  str  =  str  +<td>  +  objTopicadddateToString()+</td></tr>;

  n_tdtitleText  =  str  +  n_tdtitleText;

  }

  }

  catch(Exception  e)

  {

  throw(new  Exception(取得貼子列表出錯  +  eToString()))  ;

  }</P><P>  }

  }

  }

  查看留言內容showtopicaspx

  <%@  Page  language=c#  Codebehind=showTopiccs  AutoEventWireup=false  Inherits=notpageshowTopic  %>

  <html><head>

  <meta  content=Microsoft  Visual  Studio    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  SystemCollections;

  using  SystemComponentModel;

  using  SystemData;

  using  SystemDrawing;

  using  SystemWeb;

  using  SystemWebSessionState;

  using  SystemWebUI;

  using  SystemWebUIWebControls;

  using  SystemWebUIHtmlControls;</P><P>  ///  <summary>

  ///  Summary  description  for  showTopic

  ///  </summary>

  public  class  showTopic  :  SystemWebUIPage

  {

  protected  SystemWebUIWebControlsLabel  n_tdAuthor;

  protected  SystemWebUIWebControlsLabel  td;

  protected  SystemWebUIWebControlsLabel  n_tdContent;

  protected  SystemWebUIWebControlsLabel  n_tdAdddate;

  protected  SystemWebUIWebControlsLabel  n_tdtitle;

  protected  SystemWebUIWebControlsLabel  n_ttitle;

  public  showTopic()

  {

  PageInit  +=  new  SystemEventHandler(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  =  RequestQueryString[ID]ToInt();

  notepage  np  =  new  notepage();

  notepage  objNp  =  npGetTopic(int_ID);

  n_tdtitleText  =  objNpTitleToString();

  n_tdContentText  =  objNpContentToString();

  n_tdAuthorText  =  objNpAuthorToString();

  n_tdAdddateText  =  objNpadddateToString();

  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()

  {

  thisLoad  +=  new  SystemEventHandler  (thisPage_Load);

  }

  }

  }


From:http://tw.wingwit.com/Article/program/net/201311/12898.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.