程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 將.aspx轉換為.htm的兩種方法

將.aspx轉換為.htm的兩種方法

編輯:關於ASP.NET
    這篇文章介紹了將.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文件夾下!");
                }
            }   

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved