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>相关新闻</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() + "'>更多关于 "; 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>暂无相关新闻</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"; // 替换内容 // 这时,模板文件已经读入到名称为str的变量中了 str = str.Replace("$ptitle", strText); //模板页中的$ptitle,即页面标题 str = str.Replace("$title", strText); //模板页中的$title,即标题 str = str.Replace("$content", content);//模板页中的$content,即内容 str = str.Replace("$date", DateTime.Now.ToString("yyyy年MM月dd日 HH:mm"));//模板页中的$date,即发表时间 str = str.Replace("$source", source);//模板页中的$source,即发表时间 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("//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>"); } }
|