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 + -
显示快捷键?