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

这篇文章介绍了将.aspx转换为.htm的两种方法,有需要的朋友可以参考一下,希望对你有所帮助
 

方法一:根据模板生成,保持在html文件夹中
思路分析:
1.写一个自定义的HTM模板  其中需要替换的地方用$value$这样
包含起来  
2.生成页面的ASPX中,用StreamReader读取HTM模板,用REPLACE
替换$value$  
3.把完成的字符串用StreamWriter输出
参考代码如下:
1)定义模板emplate.htm

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title> $title$ 生成静态页的Demo|-51aspx.com</title>
    <style type="text/css">
<!--
.STYLE1 {
font-size: 16px;
font-weight: bold;
}
-->
    </style>
</head>
<body>
<br />
<br />
<table width="100%" border="0" bgcolor="#339900">
  <tr>
    <td height="34" align="center" bgcolor="#FFFFFF"><span class="STYLE1">$title$ </span></td>
  </tr>
  <tr>
    <td height="42" bgcolor="#FFFFFF"><br />
      <br />
    内容:$content$ </td>
  </tr>
</table>
<a href="#" target="_blank">版权所有</a>
</body>
</html>

2)在Default.aspx页面的按扭的事件处理中写如下代码:

复制代码 代码如下:

//源码是替换掉模板中的特征字符
  string mbPath = Server.MapPath("template.htm");
  Encoding code = Encoding.GetEncoding("gb2312");
  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{1}quot;, txtTitle.Text);//替换Title
  str = str.Replace("$content{1}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 Button2_Click(object sender, EventArgs e)
{
  Encoding code = Encoding.GetEncoding("utf-8");
            StreamReader sr = null;
            StreamWriter sw = null;
            string str = null;
            //读取远程路径
            WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
            WebResponse myTemp = temp.GetResponse();
            sr = new StreamReader(myTemp.GetResponseStream(), code);
            //读取
            try
            {
                sr = new StreamReader(myTemp.GetResponseStream(), code);
                str = sr.ReadToEnd();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                sr.Close();
            }
            string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
            //写入
            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文件夹下!");
            }
        }   

时间: 2024-08-21 14:34:26

将.aspx转换为.htm的两种方法的相关文章

js unicode 编码解析关于数据转换为中文的两种方法_javascript技巧

复制代码 代码如下: var str = "\\u6211\\u662Funicode\\u7F16\\u7801"; 关于这样的数据转换为中文问题,常用的两种方法. 1. eval 解析 复制代码 代码如下: str = eval("'" + str + "'"); // "我是unicode编码" 2. unescape 解析 复制代码 代码如下: str = unescape(str.replace(/\\u/g, &q

压缩aspx页面删除多余空格的两种方法

 这篇文章主要介绍了压缩aspx页面移除多余空格的两种方法,可以在发布页面之前压缩aspx,无须浪费web server的cpu,需要的朋友可以参考下 两种方法实现:  1)一行一行的读取aspx文件然后处理  2)一次性读取aspx文件然后处理   处理逻辑:  替换"  "为" "(将两个空格替换为一个空格),将所有的换行符替换为空字符(极限压缩)  注意事项:  1)一行一行处理在极限压缩的情况下需要额外的处理服务端控件换行的情况,比如   代码如下: Lin

压缩aspx页面删除多余空格的两种方法_实用技巧

两种方法实现: 1)一行一行的读取aspx文件然后处理 2)一次性读取aspx文件然后处理  处理逻辑: 替换"  "为" "(将两个空格替换为一个空格),将所有的换行符替换为空字符(极限压缩) 注意事项: 1)一行一行处理在极限压缩的情况下需要额外的处理服务端控件换行的情况,比如 复制代码 代码如下: Line 1:<asp:Label  runat="server" Line 2: ID="lb1"   .... L

jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)_jquery

在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下WebMethod方法的用法 1.修饰符主要用public static修饰 2.方法前面加上[WebMethod]属性表明这是WebMethod方法 3.前台html页面(Client端)访问时要使用post方法,和后台.cs文件进行数据交互,否则会返回整个html页面. 4.当后台页面返回数据后

WPF程序将DLL嵌入到EXE的两种方法

原文:WPF程序将DLL嵌入到EXE的两种方法 WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是<Visual Studio 版本转换工具WPF版开源了>的续,关于<Visual Studio 版本转换工具WPF版开源了>可以参看地下地址(两篇是一样的): 开源中国 http://my.oschina.net/chinesedragon/blog/308336 CNBLOGS http://www.cnblogs.com/luoshupeng/p/3946635.html

PHP实现弹出消息提示框的两种方法

 这篇文章主要介绍了用PHP实现弹出消息提示框的两种方法,有需要的朋友可以参考一下 方法一:  代码如下: echo "<script>alert('提示内容')</script>";   方法二: 代码如下: echo '<script language="JavaScript">;alert("这是";location.href="index.htm";</script>;'

歌词格式krc转lrc两种方法

酷狗下载的歌词都是KRC文件,KRC格式文件为酷狗音乐独有的同步歌词格式文件,但是我们其他音乐播放器使用的是LRC格式同步歌词,那么我们怎么才能把krc文件转换为我们自己想要的lrc文件呢?下面提供两种方法供大家参考! 方法一: 我们在这里介绍一个专门的软件可以转. 批量方法:选中转换文件,直接拖动扔到转换窗口内就Ok.我尝试了一次托200+个到转换窗口,勉强可以,再多了,软件容易崩溃`~ 再有就是乱码,因为转换后文本编码问题,默认是UTF-8, 解决方法:直接用记事本打开,另存为,把编码类型选

Word两种方法:让乱码不再乱

  不管是什么软件,只要一乱码,就会让人感到心烦的意乱.小编从来也不知道Word乱码了自己还可以修复,直到有天在网上无意间看到了.好东西要大家分享,接下来就是如何解决乱码问题的两种方法.感兴趣的朋友,可以参考参考! Word乱码 一.替换格式法 这种方法就是把被破坏的Word文档另存为另一种格式. 1.打开被损坏的文档单击"文件/另存为"菜单,在 "保存类型"列表中,选择"RTF格式",然后单击"保存"按钮,并关闭word.

js动态拼接正则表达式的两种方法

 这篇文章主要介绍了js动态拼接正则表达式的两种方法,需要的朋友可以参考下 方法一:    做项目的时候可能会遇到用js验证表单输入正确性的需求,这时候就需要用到js的正则表达式.举个例子:比如说要验证月份,格式为:'yyyy-MM',这个正则表达式写起来很简单,实在写不出,也可以Google.百度一把,网上例子一大堆!但是js正则表达式就这样写死也会带来新的问题:如果配置文件的月份格式改了呢?改成'yyyyMM'.或者是'yyyy_MM'...呢??我们是不是要记得去把js中的正则表达式也跟着