生成静态文件的新闻系统核心代码(.net C#)

王朝c#·作者佚名  2006-01-09
宽屏版  字体: |||超大  

在网上看了许多能生成静态页的新闻系统,但基于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

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有