將.aspx轉(zhuǎn)換為.htm的兩種方法
更新時間:2013年07月30日 10:14:53 作者:
這篇文章介紹了將.aspx轉(zhuǎn)換為.htm的兩種方法,有需要的朋友可以參考一下,希望對你有所幫助
方法一:根據(jù)模板生成,保持在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$ 生成靜態(tài)頁的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 />
內(nèi)容:$content$ </td>
</tr>
</table>
<a href="#" target="_blank">版權(quán)所有</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();
}
//根據(jù)時間自動重命名,擴展名也可以自行修改
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
//生成靜態(tài)文件
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>已經(jīng)生成,保存在htm文件夾下!");
}
方法二:根據(jù)Url地址生成靜態(tài)頁保持
思路分析:
直接將做好的動態(tài)頁面翻譯成靜態(tài)頁面,所以生成的內(nèi)容不夠靈活
參考代碼:
//根據(jù)Url地址生成靜態(tài)頁保持
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>已經(jīng)生成,保存在htm文件夾下!");
}
}
思路分析:
1.寫一個自定義的HTM模板 其中需要替換的地方用$value$這樣
包含起來
2.生成頁面的ASPX中,用StreamReader讀取HTM模板,用REPLACE
替換$value$
3.把完成的字符串用StreamWriter輸出
參考代碼如下:
1)定義模板emplate.htm
復(fù)制代碼 代碼如下:
<!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$ 生成靜態(tài)頁的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 />
內(nèi)容:$content$ </td>
</tr>
</table>
<a href="#" target="_blank">版權(quán)所有</a>
</body>
</html>
2)在Default.aspx頁面的按扭的事件處理中寫如下代碼:
復(fù)制代碼 代碼如下:
//源碼是替換掉模板中的特征字符
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();
}
//根據(jù)時間自動重命名,擴展名也可以自行修改
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
//生成靜態(tài)文件
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>已經(jīng)生成,保存在htm文件夾下!");
}
方法二:根據(jù)Url地址生成靜態(tài)頁保持
思路分析:
直接將做好的動態(tài)頁面翻譯成靜態(tài)頁面,所以生成的內(nèi)容不夠靈活
參考代碼:
復(fù)制代碼 代碼如下:
//根據(jù)Url地址生成靜態(tài)頁保持
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>已經(jīng)生成,保存在htm文件夾下!");
}
}
相關(guān)文章
使用Blazor框架實現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel
Blazor?是一個相對較新的框架,用于構(gòu)建具有?.NET?強大功能的交互式客戶端?Web?UI,本文主要介紹了如何在?Blazor?應(yīng)用程序中實現(xiàn)?SpreadJS?利用?.NET?的強大功能完成瀏覽器端的?Excel?導(dǎo)入導(dǎo)出,需要的可以參考一下2023-05-05
C# .Net動態(tài)調(diào)用webService實現(xiàn)思路及代碼
動態(tài)調(diào)用web服務(wù)將執(zhí)行以下步驟:獲取WSDL/生成客戶端代理類代碼/設(shè)定編譯參數(shù)/編譯代理類/生成代理實例,并調(diào)用方法,很詳細的,感興趣的你可不要錯過了哈2013-02-02
Asp.net Web Api實現(xiàn)圖片點擊式圖片驗證碼功能
現(xiàn)在驗證碼的形式越來越豐富,今天要實現(xiàn)的是在點擊圖片中的文字來進行校驗的驗證碼。下面通過本文給大家分享Asp.net Web Api實現(xiàn)圖片點擊式圖片驗證碼功能,需要的的朋友參考下吧2017-06-06
.NET 6.0 + WPF 使用 Prism 框架實現(xiàn)導(dǎo)航
Prism是一款專為XAML應(yīng)用程序設(shè)計的開源框架,主要面向WPF和Xamarin Forms等平臺,文章介紹了Prism的基本概念、安裝步驟和使用方法,是開發(fā)企業(yè)級應(yīng)用程序的首選框架,感興趣的朋友跟隨小編一起看看吧2024-09-09
asp.net Silverlight應(yīng)用程序中獲取載體aspx頁面參數(shù)
有時候SL應(yīng)用中需要使用由aspx頁面中傳遞過來的參數(shù)值,此時通常有兩種方法獲取2009-11-11
Visual?Studio2022創(chuàng)建WebAPI項目步驟記錄
不管是前后端分離還是提供數(shù)據(jù)服務(wù),WebApi使用的越來越廣泛,而且.NET Core也是我們.NET開發(fā)人員未來發(fā)展的趨勢,所以說學(xué)會使用.NET Core Api是非常有必要的,這篇文章主要給大家介紹了關(guān)于Visual?Studio2022創(chuàng)建WebAPI項目步驟的相關(guān)資料,需要的朋友可以參考下2024-01-01
手把手教你AspNetCore WebApi認證與授權(quán)的方法
這篇文章主要介紹了手把手教你AspNetCore WebApi認證與授權(quán)的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

