|
在网上看了许多能生成静态页的新闻系统,但基于asp.net的系统极少,闲下时间来自己写了一个,发出来,大家一起研究,代码没做什么优化,只是实现了功能 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.OleDb; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Configuration; namespace makehtmlfile { /// <summary> /// makeallfiles 的摘要说明。 /// </summary> public class makeallfiles : System.Web.UI.Page { public string strcon; public OleDbConnection conn; public string strSQL; private void Page_Load(object sender, System.EventArgs e) { InitialPages();// 在此处放置用户代码以初始化页面 } public void InitialPages() { strcon = "provider=Microsoft.jet.OLEDB.4.0;data Source="+Server.MapPath(ConfigurationSettings.AppSettings["MDBpath2"])+";";//连接字符窜// 在此处放置用户代码以初始化页面 strSQL = "select id,class1id,class2id from news order by id desc"; MakeAreaForShow(); ReadNewsForWriteFileUserDataReader(); //同过DataReader来读取数据, //ReadNewsForWriteFileUserDataSet(); //将数据直接挂入DataSet中来读取, } /// <summary> /// 用来产生循环显示页面的区域,装载生成HTML页的ASPX页面的区域 /// </summary> public void MakeAreaForShow() { Response.Write("<span id=showImport></span>"); Response.Write("<IE:Download ID='oDownload' STYLE='behavior:url(#default#download)'/>"); } /// <summary> /// 通过DATAREADER来读取数据 /// </summary> public void ReadNewsForWriteFileUserDataReader() { int num = 0 ; string newsid = null; string class1id = null; string class2id = null; OleDbDataReader dr = null; OleDbConnection conn = new OleDbConnection(strcon); conn.Open(); OleDbCommand mycommand = new OleDbCommand(strSQL,conn); dr = mycommand.ExecuteReader(); while(dr.Read()) { newsid = dr["id"].ToString(); class1id = dr["class1id"].ToString(); class2id = dr["class2id"].ToString(); WriteJScript(newsid,class1id,class2id); num++; } dr.Close(); conn.Close(); Response.Write(num.ToString()); } /// <summary> /// 通过DATASET来读取数据 /// </summary> public void ReadNewsForWriteFileUserDataSet() { DataSet ds = new DataSet(); int num = 0 ; string newsid = null; string class1id = null; string class2id = null; OleDbConnection conn = new OleDbConnection(strcon); conn.Open(); OleDbDataAdapter da = new OleDbDataAdapter(strSQL,conn); da.Fill(ds,"news"); conn.Close(); num = ds.Tables["news"].Rows.Count; foreach(DataRow dr in ds.Tables["news"].Rows) { newsid = dr["id"].ToString(); class1id = dr["class1id"].ToString(); class2id = dr["class2id"].ToString(); WriteJScript(newsid,class1id,class2id); } ds = null; Response.Write(num.ToString()); } public void WriteJScript(string newsid,string class1id,string class2id) { Response.Write("<script>"); Response.Write("function onDownloadDone(downDate)"); Response.Write("{"); Response.Write("showImport.innerHTML=downDate"); Response.Write("}"); Response.Write("oDownload.startDownload('makefile2.aspx?id="); Response.Write(newsid); Response.Write("&class1id="); Response.Write(class1id); Response.Write("&class2id="); Response.Write(class2id); Response.Write("',onDownloadDone)"); Response.Write("</script>"); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }
|