写一个生成HTML 的简单例子 没有封装成方法...
<!-- 模板 -->
< html >
<!-- 使用特殊符号做为替换符 -->
< head > < title > $title </ title > </ head >
< body >
$info <!-- 使用特殊符号做为替换符注意唯一性 -->
</ body >
< html >
using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using com.Rwstation.System;
// 需要using 进来的
using System.IO; // 利用文件读写
using System.Text; // 编码用
public partial class Html_Test : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
if (!this.IsPostBack)
...{
//ASP.NET生成静态页
}
}
protected void Button1_Click(object sender, EventArgs e)
...{
//生成HTML代码主要用IO读写
//读取模版部分
StreamReader reader = new StreamReader("e:/temp.html", Encoding.GetEncoding("gb2312"));//读取模版并指定编码
string str = reader.ReadToEnd();//把模版内容读入一个字符串
reader.Close();//关闭读取对象,释放资源
//读取结束
// Response.Write(str);//输出读取测试
//读取数据库数据
NewsSystem system = new NewsSystem();
DataTable NewTable = system.GetAllNews();//获得所有新闻存入DateTable对象
//获取到数据
//循环读取数据生成静态页
StreamWriter writer;//利用StreamWriter 实现写HTML操作
string temp = "";//临时存储模板内容 因为要多次操作模板数据 模板内容不可变
foreach (DataRow row in NewTable.Rows)
...{
temp = str; //将模板内容给temp
//替换关键标记为真实数据
temp = temp.Replace("$title", row["NEW_TITLE"].ToString()).Replace("$info", row["NEW_CONTENT"].ToString());
//生成以时间+新闻编号的.htm页 并以gb2312编码
writer = new StreamWriter("e:/" + DateTime.Now.ToString("yyyyMMddHHmmss") + row["NEW_ID"].ToString()+".htm",false,Encoding.GetEncoding("gb2312"));
writer.Write(temp);//将数据库里的数据替换模板写入.htm
writer.Flush();//清空缓冲区
writer.Close();//关闭连接对象
}
//循环后生成完成
ClientScript.RegisterClientScriptBlock(this.GetType(),"key","<script>alert('生成完成')</script>");
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using com.Rwstation.System;
// 需要using 进来的
using System.IO; // 利用文件读写
using System.Text; // 编码用
public partial class Html_Test : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
if (!this.IsPostBack)
...{
//ASP.NET生成静态页
}
}
protected void Button1_Click(object sender, EventArgs e)
...{
//生成HTML代码主要用IO读写
//读取模版部分
StreamReader reader = new StreamReader("e:/temp.html", Encoding.GetEncoding("gb2312"));//读取模版并指定编码
string str = reader.ReadToEnd();//把模版内容读入一个字符串
reader.Close();//关闭读取对象,释放资源
//读取结束
// Response.Write(str);//输出读取测试
//读取数据库数据
NewsSystem system = new NewsSystem();
DataTable NewTable = system.GetAllNews();//获得所有新闻存入DateTable对象
//获取到数据
//循环读取数据生成静态页
StreamWriter writer;//利用StreamWriter 实现写HTML操作
string temp = "";//临时存储模板内容 因为要多次操作模板数据 模板内容不可变
foreach (DataRow row in NewTable.Rows)
...{
temp = str; //将模板内容给temp
//替换关键标记为真实数据
temp = temp.Replace("$title", row["NEW_TITLE"].ToString()).Replace("$info", row["NEW_CONTENT"].ToString());
//生成以时间+新闻编号的.htm页 并以gb2312编码
writer = new StreamWriter("e:/" + DateTime.Now.ToString("yyyyMMddHHmmss") + row["NEW_ID"].ToString()+".htm",false,Encoding.GetEncoding("gb2312"));
writer.Write(temp);//将数据库里的数据替换模板写入.htm
writer.Flush();//清空缓冲区
writer.Close();//关闭连接对象
}
//循环后生成完成
ClientScript.RegisterClientScriptBlock(this.GetType(),"key","<script>alert('生成完成')</script>");
}
}