通用动态生成静态HTML页方法
/**//// <summary>
/// 动态生成HTML页--韩国际(2006-04-18)
/// </summary>
/// <param name="format">**用于替换HTML模板的变量($htmlformat[*]),format数组中的第一个变量format[0]应该是生成的静态HTML页相对于图片目录Images的相对路径,如:"../"</param>
/// <param name="templateUrl">调用HTML模板的URL + 模板名称,如:"Temp/Template.htm"</param>
/// <param name="saveHtmlUrl">保存生成的HTML页的URL + HTML文件名称,如:"Temp/20060418.htm"</param>
/// <param name="encodingName">读取HTML模板页和生成HTML页所使用的字符编码方式,如:"GB2312"</param>
/// <returns>布尔类型--True=生成成功,False=生成失败</returns>
public bool WriteHtml(string[] format,string templateUrl,string saveHtmlUrl,string encodingName)
{
//---------------------读html模板页面到stringbuilder对象里----
System.Text.StringBuilder htmltext=new System.Text.StringBuilder();
try
{
System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath(templateUrl.Trim()),System.Text.Encoding.GetEncoding(encodingName));
string line;
while ((line = sr.ReadLine()) != null)
{
htmltext.Append(line);
}
sr.Close();
}
catch
{
System.Web.HttpContext.Current.Response.Write("<script>alert('读取HTML模板 "+templateUrl.Trim()+" 出错!');</script>");
}
//----------替换htm模板里的标记为传入的数组
for(int i=0;i<format.Length;i++)
{
htmltext.Replace("$htmlformat["+i+"]",format[i]);
}
//----------生成htm文件------------------――
try
{
string tmphtm=Server.MapPath(saveHtmlUrl);
System.IO.StreamWriter sw = new System.IO.StreamWriter(tmphtm.Trim(),false,System.Text.Encoding.GetEncoding(encodingName));
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
return true;
}
catch
{
System.Web.HttpContext.Current.Response.Write("<script>alert('"+saveHtmlUrl.Trim()+" HTML文件生成失败!');</script>");
return false;
}
}
/**//// <summary>
/// 动态生成HTML页--韩国际(2006-04-18)
/// </summary>
/// <param name="format">**用于替换HTML模板的变量($htmlformat[*]),format数组中的第一个变量format[0]应该是生成的静态HTML页相对于图片目录Images的相对路径,如:"../"</param>
/// <param name="templateUrl">调用HTML模板的URL + 模板名称,如:"Temp/Template.htm"</param>
/// <param name="saveHtmlUrl">保存生成的HTML页的URL + HTML文件名称,如:"Temp/20060418.htm"</param>
/// <param name="encodingName">读取HTML模板页和生成HTML页所使用的字符编码方式,如:"GB2312"</param>
/// <returns>布尔类型--True=生成成功,False=生成失败</returns>
public bool WriteHtml(string[] format,string templateUrl,string saveHtmlUrl,string encodingName)
{
//---------------------读html模板页面到stringbuilder对象里----
System.Text.StringBuilder htmltext=new System.Text.StringBuilder();
try
{
System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath(templateUrl.Trim()),System.Text.Encoding.GetEncoding(encodingName));
string line;
while ((line = sr.ReadLine()) != null)
{
htmltext.Append(line);
}
sr.Close();
}
catch
{
System.Web.HttpContext.Current.Response.Write("<script>alert('读取HTML模板 "+templateUrl.Trim()+" 出错!');</script>");
}
//----------替换htm模板里的标记为传入的数组
for(int i=0;i<format.Length;i++)
{
htmltext.Replace("$htmlformat["+i+"]",format[i]);
}
//----------生成htm文件------------------――
try
{
string tmphtm=Server.MapPath(saveHtmlUrl);
System.IO.StreamWriter sw = new System.IO.StreamWriter(tmphtm.Trim(),false,System.Text.Encoding.GetEncoding(encodingName));
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
return true;
}
catch
{
System.Web.HttpContext.Current.Response.Write("<script>alert('"+saveHtmlUrl.Trim()+" HTML文件生成失败!');</script>");
return false;
}
}