postmessage2.aspx

来自「《精通ASP.NET网络编程》附带实例」· ASPX 代码 · 共 148 行

ASPX
148
字号
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<html>
<head>
<title>Thank You for Posting !</title>
<script language="C#" runat="server" >
    void Page_Load(Object Src, EventArgs E) 
   {
     //if the page is called from another page
     if (!Page.IsPostBack) {
       //取出提交的各项值
       string name = Request.Params["name"] ;
       string email = Request.Params["email"] ;
       string subject = Request.Params["subject"] ;
       string ip = Request.Params["ip"] ;
       string date = Request.Params["date" ];
       string message = Request.Params["message"] ;
       bool newmess =true ;
       string previd ="1"; 
       //判断是新主题还是回复主题
       if(Request.Params["newpost"].Equals("no"))
       {
          //如果是回复主题,找出对那个主题进行回复
          newmess =false ;
          previd = Request.Params["previd"] ; 
       }
       //如果是新主题,执行下面的程序
       if(newmess)
       {
          string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source="+Server.MapPath("board.mdb") ;
          OleDbConnection myConn = new OleDbConnection(strConn) ;
          string strCom = "Select postid from newpost" ;
          OleDbCommand myCommand =new OleDbCommand(strCom,myConn);
          myConn.Open();
          OleDbDataReader reader;
          reader = myCommand.ExecuteReader();
          int i=1 ;
          //查找出一共有多少条记录,以确定新主题的主键
          while(reader.Read())
          {
              i++ ;
          }
          reader.Close() ;
          //将新主题插入到数据库中
          string insertStr =" INSERT INTO newpost VALUES ("
		+i +", '"
		+name+"', '"
		+email+"', '"
	                +subject+"', '"
		+ip+"', '"
		+date+"', '"
		+message+"',0, 0)" ;
          myCommand.CommandText =insertStr ;
          myCommand.ExecuteNonQuery() ;
          myConn.Close() ;
        }
        else
        {
           //如果是回复主题,执行下面的代码
          string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source="+Server.MapPath("board.mdb") ;
          OleDbConnection myConn = new OleDbConnection(strConn) ;
          string strCom = "Select replyid from reply" ;
          OleDbCommand myCommand =new OleDbCommand(strCom,myConn);
          myConn.Open();
          OleDbDataReader reader;
          reader = myCommand.ExecuteReader();
          int i=1 ;
          while(reader.Read())
          {
              i++ ;
          }
          reader.Close() ;
          //将回复主题插入到数据库中
          string insertStr =" INSERT INTO reply VALUES ("
		+i +", '"
		+name+"', '"
		+email+"', '"
		+subject+"', '"
		+ip+"', '"
		+date+"', '"
		+message+"', " 
		+previd+")";
          myCommand.CommandText =insertStr ;
          myCommand.ExecuteNonQuery() ;
          string replyno = "SELECT replies FROM newpost WHERE postid ="+previd ;
          myCommand.CommandText =replyno ;
          reader = myCommand.ExecuteReader();
          reader.Read();
          int rep =reader.GetInt16(0) ;
          reader.Close() ;
          rep++ ;
          //更新主题的回复次数
          string updtStr ="UPDATE newpost SET replies = "+rep
		+" WHERE (postid = "+previd+")" ; 
          myCommand.CommandText = updtStr;
          myCommand.ExecuteNonQuery();
          myConn.Close() ;
       }
       NameLabel.Text = name;
       EmailLabel.Text= email ;
       SubjectLabel.Text=subject;     
       MessageLabel.Text=message ;    
    }
   else
    {
      errmess.Text="页面错误<br>";
     }
  }
</script>
<LINK href="mystyle.css" type=text/css rel=stylesheet>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" marginwidth="0" marginheight="0">
<!-- #Include File="header.inc" --> 
<center>
<asp:label id="errmess" text="" style="color:#FF0000" runat="server" />
  <h2 class="fodark"><b>谢谢,你的大作已经成功发表。</b></h2>
<table align=center width="60%" border="0" cellspacing="2" cellpadding="1" >
    <tr class="fohead">
      <td colspan="2">你发表的作品信息:</td>
    </tr>
    <tr class="folight">
      <td>大名 :</td>	
      <td><asp:label id="NameLabel" text="" runat="server" /></td>
    </tr>
    <tr class="folight">
      <td>E-Mail :</td>	
      <td><asp:label id="EmailLabel" text="" runat="server" /></td>
    </tr>
    <tr class="folight">
      <td>主题 :</td>
      <td><asp:label id="SubjectLabel" text="" runat="server" /></td>
    </tr>
    <tr class="folight">
      <td>内容 :</td>
      <td><asp:label id="MessageLabel" text="" runat="server" /></td>
    </tr>
</table>
<br>
  <h4 class="fodark"><a href="forum2.aspx">讨论区首页 </a> <br>
    <% if(Request.Params["newpost"].Equals("no"))
     { %> <a href='reply2.aspx?postid=<%=Request.Params["previd"] %>'> 返回 </a> 
    <% } %> 
  </h4>
</center>
<!-- #Include File="footer.inc" --> 
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?