会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Nice感觉
海绵不断的吸收
博客园
首页
新随笔
联系
订阅
管理
通用动态生成静态HTML页方法
通用动态生成静态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
;
}
}
posted on
2006-04-18 16:53
Gary.han
阅读(
627
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部