這篇文章介紹了將.aspx轉換為.htm的兩種方法,有需要的朋友可以參考一下,希望對你有所協助
方法一:根據模板產生,保持在html檔案夾中
思路分析:
1.寫一個自訂的HTM模板 其中需要替換的地方用$value$這樣
包含起來
2.產生頁面的ASPX中,用StreamReader讀取HTM模板,用REPLACE
替換$value$
3.把完成的http://www.php.cn/wiki/57.html" target="_blank">字串用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檔案夾下!"); } }