本文用C#做脚本的asp.net的方法,有对WebRequest和HttpRequest、HttpWebRequest、HttpWebResponse四个类的简单说明 ,代码如下:
private bool CreateList(string url, string fna)
{ bool ok; //准备生成 string strHtml; StreamReader sr = null; //用来读取流 StreamWriter sw = null; //用来写文件 Encoding code = Encoding.GetEncoding("utf-8"); //定义编码 //构造web请求,发送请求,获取响应 //获得流 //写入文件 调用的时候这样: //要生成html页面的aspx页面
string url = @"http://localhost/list.aspx"; //html页面文件名 string fna = Server.MapPath("") + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + ".html"; if (CreateList(url, fna)) { Response.Write("<p>生成文件成功:" + fna); } 第二种方法是用一个html模板生成一个html页面,模版里面有对应的标签,可以从数据库和别的地方取数据,填写这个标签,生成一个html页面,这个方法在很多新闻系统里有用到 我参考这里面的代码写的:http://www.webstudy8.com/web/net/201/065118272748882.html private string CreateDetailPage(string EventID,string EventTitle, string EventBody, string EventTime, string EventStat) //读模版 StreamReader sr = null; try // 替换内容 // 写文件 调用的时候这样: //取内容,这里我取了页面上的一个gridview里的选中行的数据
(责任编辑:admin)int i; i = GridView1.SelectedIndex; if (i == null || i==-1) i = 0; string EventID, EventTitle, EventBody, EventTime, EventStat; EventID=GridView1.Rows[i].Cells[0].Text; EventTitle=GridView1.Rows[i].Cells[1].Text; EventBody=GridView1.Rows[i].Cells[2].Text; EventTime=GridView1.Rows[i].Cells[3].Text; EventStat=GridView1.Rows[i].Cells[4].Text; //生成文件,返回文件名 string fna; fna=CreateDetailPage(EventID, EventTitle, EventBody, EventTime, EventStat); Response.Write("<p>生成文件成功:" + fna); |