这篇文章介绍了将
aspx转换为
htm的两种方法
有需要的朋友可以参考一下
希望对你有所帮助
方法一:根据模板生成保持在html文件夹中
思路分析:
写一个自定义的HTM模板 其中需要替换的地方用$value$这样
包含起来
生成页面的ASPX中用StreamReader读取HTM模板用REPLACE
替换$value$
把完成的字符串用StreamWriter输出
参考代码如下:
)定义模板emplatehtm
复制代码 代码如下:
<!DOCTYPE html PUBLIC "
//W
C//DTD XHTML
Transitional//EN" "
<html xmlns="
<head>
<title> $title$ 生成静态页的Demo|
aspx
com</title>
<style type="text/css">
<!
STYLE
{
font
size:
px;
font
weight: bold;
}
>
</style>
</head>
<body>
<br />
<br />
<table width="
%" border="
" bgcolor="#
">
<tr>
<td height="
" align="center" bgcolor="#FFFFFF"><span class="STYLE
">$title$ </span></td>
</tr>
<tr>
<td height="
" bgcolor="#FFFFFF"><br />
<br />
内容
$content$ </td>
</tr>
</table>
<a href="#" target="_blank">版权所有</a>
</body>
</html>
)在Defaultaspx页面的按扭的事件处理中写如下代码:
复制代码 代码如下:
//源码是替换掉模板中的特征字符
string mbPath = Server
MapPath("template
htm");
Encoding code = Encoding
GetEncoding("gb
");
StreamReader sr = null;
StreamWriter sw = null;
string str = null;
//读取
try
{
sr = new StreamReader(mbPath
code);
str = sr
ReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sr
Close();
}
//根据时间自动重命名
扩展名也可以自行修改
string fileName = DateTime
Now
ToString("yyyyMMddHHmmss") + "
htm";
str = str
Replace("$title{
}quot;
txtTitle
Text);//替换Title
str = str
Replace("$content{
}quot;
txtContent
Text);//替换content
//生成静态文件
try
{
sw = new StreamWriter(Server
MapPath("htm/") + fileName
false
code);
sw
Write(str);
sw
Flush();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sw
Close();
Response
Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成
保存在htm文件夹下!");
}
方法二:根据Url地址生成静态页保持
思路分析:
直接将做好的动态页面翻译成静态页面所以生成的内容不够灵活
参考代码:
复制代码 代码如下:
//根据Url地址生成静态页保持
protected void Button_Click(object sender EventArgs e)
{
Encoding code = EncodingGetEncoding("utf");
StreamReader sr = null;
StreamWriter sw = null;
string str = null;
//读取远程路径
WebRequest temp = WebRequestCreate(txtUrlTextTrim());
WebResponse myTemp = tempGetResponse();
sr = new StreamReader(myTempGetResponseStream() code);
//读取
try
{
sr = new StreamReader(myTempGetResponseStream() code);
str = srReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
srClose();
}
string fileName = DateTimeNowToString("yyyyMMddHHmmss") + "htm";
//写入
try
{
sw = new StreamWriter(ServerMapPath("htm/") + fileName false code);
swWrite(str);
swFlush();
}
catch (Exception ex)
{
throw ex;
}
finally
{
swClose();
ResponseWrite("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成保存在htm文件夹下!");
}
}