?? postmessage.aspx
字號:
<%@ Page Language="C#" EnableSessionState="False" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.IO" %>
<html>
<head>
<title>謝謝您的支持 !</title>
<script language="C#" runat="server" >
void Page_Load(Object Src, EventArgs E)
{
//檢查該頁面是否第一次被裝載
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";
//檢查是否 'newpost' 參數是 'no'
//指出回復是以前提交的
if(Request.Params["newpost"].Equals("no"))
{
newmess =false ;
previd = Request.Params["previd"] ;
}
if(newmess)
{
//創建一個新的主題
string strConn=@"Provider=Microsoft.Jet.OleDb.4.0 ;Data Source=";
strConn+=Server.MapPath(".\\db\\d8net.mdb") ;
OleDbConnection myConn = new OleDbConnection(strConn) ;
//參數查詢
string insertStr =" INSERT INTO newpost (name, email, subject, ip, dt, message) VALUES ";
insertStr+="(@name, @email, @subject, @ip, @dt, @message)";
//生成一個 OleDbCommand
OleDbCommand insertCommand = new OleDbCommand(insertStr, myConn);
//加入一個新的參數 '@name' 類型為 'VarChar'
//設置該參數的值
insertCommand.Parameters.Add(new OleDbParameter("@name", OleDbType.VarChar));
insertCommand.Parameters["@name"].Value = name;
insertCommand.Parameters.Add(new OleDbParameter("@email", OleDbType.VarChar));
insertCommand.Parameters["@email"].Value = email;
insertCommand.Parameters.Add(new OleDbParameter("@subject", OleDbType.VarChar));
insertCommand.Parameters["@subject"].Value = subject;
insertCommand.Parameters.Add(new OleDbParameter("@ip", OleDbType.VarChar));
insertCommand.Parameters["@ip"].Value = ip;
insertCommand.Parameters.Add(new OleDbParameter("@dt", OleDbType.VarChar));
insertCommand.Parameters["@dt"].Value = date;
insertCommand.Parameters.Add(new OleDbParameter("@message", OleDbType.VarChar));
insertCommand.Parameters["@message"].Value = parsetext(message);
myConn.Open();
insertCommand.ExecuteNonQuery();
myConn.Close() ;
}
else
{
//插入一個回復
string strConn=@"Provider=Microsoft.Jet.OleDb.4.0 ;Data Source=";
strConn+=Server.MapPath(".\\db\\d8net.mdb") ;
OleDbConnection myConn = new OleDbConnection(strConn);
//SQL語句的參數聲名
string insertStr =" INSERT INTO reply (name, email, subject, ip, dt, ";
insertStr+="message, postid) VALUES ";
insertStr+="(@name, @email, @subject, @ip, @dt, @message, @postid)";
//生成一個新的 OleDbCommand
OleDbCommand insertCommand = new OleDbCommand(insertStr, myConn);
//增加一個新的參數,加入相應的值
insertCommand.Parameters.Add(new OleDbParameter("@name", OleDbType.VarChar));
insertCommand.Parameters["@name"].Value = name;
insertCommand.Parameters.Add(new OleDbParameter("@email", OleDbType.VarChar));
insertCommand.Parameters["@email"].Value = email;
insertCommand.Parameters.Add(new OleDbParameter("@subject", OleDbType.VarChar));
insertCommand.Parameters["@subject"].Value = subject;
insertCommand.Parameters.Add(new OleDbParameter("@ip", OleDbType.VarChar));
insertCommand.Parameters["@ip"].Value = ip;
insertCommand.Parameters.Add(new OleDbParameter("@dt", OleDbType.VarChar));
insertCommand.Parameters["@dt"].Value = date;
insertCommand.Parameters.Add(new OleDbParameter("@message", OleDbType.VarChar));
insertCommand.Parameters["@message"].Value = parsetext(message);
insertCommand.Parameters.Add(new OleDbParameter("@postid", OleDbType.Integer));
insertCommand.Parameters["@postid"].Value = previd;
myConn.Open();
//更新數據庫
insertCommand.ExecuteNonQuery() ;
myConn.Close();
string replyno = "SELECT replies FROM newpost WHERE postid ="+previd ;
insertCommand.CommandText =replyno ;
myConn.Open();
OleDbDataReader reader =insertCommand.ExecuteReader() ;
reader.Read();
//得到該主題回復的數量
int rep =reader.GetInt16(0) ;
myConn.Close();
rep++ ;
string updtStr ="UPDATE newpost SET replies = "+rep
+" WHERE (postid = "+previd+")" ;
insertCommand.CommandText = updtStr;
myConn.Open();
//執行命令
insertCommand.ExecuteNonQuery();
myConn.Close() ;
}
//設置文本框的內容
NameLabel.Text = name;
EmailLabel.Text= email ;
SubjectLabel.Text= subject;
MessageLabel.Text= message ;
}
else
{
errmess.Text="該頁面不能夠直接訪問.";
errmess.Text+=" 可以從主頁面上訪問.<br>" ;
}
}
//把信息轉換成HTML輸出
public string parsetext(string text)
{
StringBuilder sb = new StringBuilder(text) ;
sb.Replace(" "," ");
//檢查是否允許 HTML 標簽
//轉化成等同的 HTML
sb.Replace("<","<") ;
sb.Replace(">",">") ;
sb.Replace("\"",""");
StringReader sr = new StringReader(sb.ToString());
StringWriter sw = new StringWriter();
//重復,如果存在下一個
while(sr.Peek()>-1)
{
string temp = sr.ReadLine();
sw.Write(temp+"<br>") ;
}
//返回最后的文本
return sw.GetStringBuilder().ToString();
}
</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=722 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="default.aspx">點擊這里 </a> 到留言板首頁.<br>
<% if(Request.Params["previd"]!=null)
{ %>
<a href='reply.aspx?postid=<%=Request.Params["previd"] %>'>
單擊這里 </a>回到上一個頁面.
<% } %>
</h4>
</center>
<!-- #Include File="footer.inc" -->
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -