|
public void WriteFile(string strText, string content, String source) { webUtility.Sql.SqlHelper db = new webUtility.Sql.SqlHelper(); String keys = tbnewskey.Text; String whe = ""; String tem = ""; foreach (String k in keys.Split('|')) { whe += "or title like '%" + k + "%' "; tem += " " + k; } whe = whe.Substring(2); String strSql = "select top 6 title,times,link from news where " + whe; DataSet ds = db.GetDataSet(strSql); String morelist = "<p>相關(guān)新聞</p><ul class='anews'>"; if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { morelist += "<li class='l1'>·<a href='" + dr["link"].ToString() + "'>" + dr["title"].ToString() + "</a></li><li class='l2'>" + dr["times"].ToString() + "</li>"; } if (ds.Tables[0].Rows.Count == 6) { morelist += "</ul><a class='amore' href='../common/newslist.aspx?key=" + Server.UrlEncode(tem.Substring(1)).ToString() + "'>更多關(guān)于 "; for (int i = 0; i < tbnewskey.Text.Split('|').Length; i++) { morelist += " <strong>" + tbnewskey.Text.Split('|')[i] + "</strong>"; } morelist += " 的新聞>></a>"; } else { morelist += "</ul>"; }
} else { morelist = "<p>暫無相關(guān)新聞</p>"; } String path = HttpContext.Current.Server.MapPath("../news"); System.Text.Encoding code = System.Text.Encoding.GetEncoding("gb2312");
// 讀取模板文件 string temp = HttpContext.Current.Server.MapPath("../news/news.htm"); StreamReader sr = null; StreamWriter sw = null; string str = ""; try { sr = new StreamReader(temp, code); str = sr.ReadToEnd(); // 讀取文件 } catch (Exception exp) { HttpContext.Current.Response.Write(exp.Message); HttpContext.Current.Response.End(); } finally { sr.Close(); } String htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html"; // 替換內(nèi)容 // 這時,模板文件已經(jīng)讀入到名稱為str的變量中了 str = str.Replace("$ptitle", strText); //模板頁中的$ptitle,即頁面標(biāo)題 str = str.Replace("$title", strText); //模板頁中的$title,即標(biāo)題 str = str.Replace("$content", content);//模板頁中的$content,即內(nèi)容 str = str.Replace("$date", DateTime.Now.ToString("yyyy年MM月dd日 HH:mm"));//模板頁中的$date,即發(fā)表時間 str = str.Replace("$source", source);//模板頁中的$source,即發(fā)表時間 str = str.Replace("$morelist", morelist); str = str.Replace("$username", tbuser.Text.Trim()); XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath(@"../xml/news.xml")); XmlNode xn = doc.SelectSingleNode("http://news/node/type[@value='" + ddltype.SelectedValue + "']"); str = str.Replace("$newslink", "<a href='../common/newslist.aspx?tp=" + xn.ParentNode.Attributes["value"].Value + "'>" + xn.ParentNode.Attributes["text"].Value + "</a>"); // 寫文件 try { sw = new StreamWriter(path + "/" + htmlfilename, false, code); sw.Write(str); sw.Flush(); } catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } db.SetParameter("@type", SqlDbType.Char, 2, ddltype.SelectedValue); db.SetParameter("@link", SqlDbType.VarChar, 50, htmlfilename); db.SetParameter("@newskey", SqlDbType.VarChar, 50, tbnewskey.Text.Trim()); db.SetParameter("@times", SqlDbType.SmallDateTime, 4, DateTime.Now.ToString()); db.SetParameter("@title", SqlDbType.VarChar, 200, tbtitle.Text.Trim()); strSql = "insert into news(type,title,link,times,keys) values(@type,@title,@link,@times,@newskey)"; if (db.ExecuteSql(strSql) == 1) { Page.ClientScript.RegisterStartupScript(GetType(), "key", "<script>alertmes('提交成功')</script>"); } }
|