将.aspx转换为.htm的两种方法
2023-06-13 09:15:03 时间
方法一:根据模板生成,保持在html文件夹中
思路分析:
1.写一个自定义的HTM模板 其中需要替换的地方用$value$这样
包含起来
2.生成页面的ASPX中,用StreamReader读取HTM模板,用REPLACE
替换$value$
3.把完成的字符串用StreamWriter输出
参考代码如下:
1)定义模板emplate.htm
复制代码代码如下:
思路分析:
1.写一个自定义的HTM模板 其中需要替换的地方用$value$这样
包含起来
2.生成页面的ASPX中,用StreamReader读取HTM模板,用REPLACE
替换$value$
3.把完成的字符串用StreamWriter输出
参考代码如下:
1)定义模板emplate.htm
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$title$生成静态页的Demo|-51aspx.com</title>
<styletype="text/css">
<!--
.STYLE1{
font-size:16px;
font-weight:bold;
}
-->
</style>
</head>
<body>
<br/>
<br/>
<tablewidth="100%"border="0"bgcolor="#339900">
<tr>
<tdheight="34"align="center"bgcolor="#FFFFFF"><spanclass="STYLE1">$title$</span></td>
</tr>
<tr>
<tdheight="42"bgcolor="#FFFFFF"><br/>
<br/>
内容:$content$</td>
</tr>
</table>
<ahref="#"target="_blank">版权所有</a>
</body>
</html>
2)在Default.aspx页面的按扭的事件处理中写如下代码:
//源码是替换掉模板中的特征字符
stringmbPath=Server.MapPath("template.htm");
Encodingcode=Encoding.GetEncoding("gb2312");
StreamReadersr=null;
StreamWritersw=null;
stringstr=null;
//读取
try
{
sr=newStreamReader(mbPath,code);
str=sr.ReadToEnd();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sr.Close();
}
//根据时间自动重命名,扩展名也可以自行修改
stringfileName=DateTime.Now.ToString("yyyyMMddHHmmss")+".htm";
str=str.Replace("$title{1}quot;,txtTitle.Text);//替换Title
str=str.Replace("$content{1}quot;,txtContent.Text);//替换content
//生成静态文件
try
{
sw=newStreamWriter(Server.MapPath("htm/")+fileName,false,code);
sw.Write(str);
sw.Flush();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sw.Close();
Response.Write("恭喜<ahref=htm/"+fileName+"target=_blank>"+fileName+"</a>已经生成,保存在htm文件夹下!");
}
方法二:根据Url地址生成静态页保持
思路分析:
直接将做好的动态页面翻译成静态页面,所以生成的内容不够灵活
参考代码:
//根据Url地址生成静态页保持
protectedvoidButton2_Click(objectsender,EventArgse)
{
Encodingcode=Encoding.GetEncoding("utf-8");
StreamReadersr=null;
StreamWritersw=null;
stringstr=null;
//读取远程路径
WebRequesttemp=WebRequest.Create(txtUrl.Text.Trim());
WebResponsemyTemp=temp.GetResponse();
sr=newStreamReader(myTemp.GetResponseStream(),code);
//读取
try
{
sr=newStreamReader(myTemp.GetResponseStream(),code);
str=sr.ReadToEnd();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sr.Close();
}
stringfileName=DateTime.Now.ToString("yyyyMMddHHmmss")+".htm";
//写入
try
{
sw=newStreamWriter(Server.MapPath("htm/")+fileName,false,code);
sw.Write(str);
sw.Flush();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sw.Close();
Response.Write("恭喜<ahref=htm/"+fileName+"target=_blank>"+fileName+"</a>已经生成,保存在htm文件夹下!");
}
}
相关文章
- java 时间字符串 转换_java实现时间与字符串之间转换
- oracle隐式转换_oracle查看游标数量
- 使用postcss-plugin-px2rem和postcss-pxtorem(postcss-px2rem)-px自动转换rem的配置方法-vue-cli3.0
- MySQL中的字符转换处理方法(mysql字符转换)
- Oracle中行列转换的方法(oracle行列转换)
- Oracle字符串转换为时间的简单方法(oracle字符转时间)
- Linux atoi函数:从字符串转换为整数(linuxatoi)
- 将Oracle中的字符转换为数字(oracle转换为数字)
- Oracle数据库中日期类型的转换及格式化方法(oracle转日期)
- 使用SQL Server转换数据类型的方法介绍(sqlserver转化数据类型)
- 利用Oracle转换字符串的方法(oracle 转 字符串)
- 突破界限DB2转换为Oracle的平台实现(db2oracle平台)
- 使用MySQL将一行数据转换为多行文本的方法(mysql一行转为多行)
- 掌握Oracle中复杂转换符号的应用(oracle中转换符号)
- Oracle中将数值转换为时间的方法(oracle中转换成时间)
- 如何在Oracle中实现列转行转换(oracle中实现列转行)
- asp下实现UrlEncoding转换编码的代码
- PHP编码转换函数自动转换字符集支持数组转换
- JavaScript转换农历类实现及调用方法
- 浅析SQL语句行列转换的两种方法case...when与pivot函数的应用
- python实现批量转换文件编码(批转换编码示例)
- js中小数转换整数的方法