zl程序教程

您现在的位置是:首页 >  其他

当前栏目

将.aspx转换为.htm的两种方法

转换方法 两种 aspx
2023-06-13 09:15:03 时间
方法一:根据模板生成,保持在html文件夹中
思路分析:
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文件夹下!");
           }
       }