ASP.NET編程簡單實現(xiàn)生成靜態(tài)頁面的方法【附demo源碼下載】
本文實例講述了ASP.NET編程簡單實現(xiàn)生成靜態(tài)頁面的方法。分享給大家供大家參考,具體如下:
1. 使用場景
當(dāng)頁面的數(shù)據(jù)不需要經(jīng)常更改時可采用靜態(tài)頁面方式。
2. 使用靜態(tài)頁面的好處
(1)提高網(wǎng)站的訪問速度
(2)減輕服務(wù)器負(fù)擔(dān)
(3)利于搜索引擎抓取
3. ASP.NET生成靜態(tài)頁面
生成靜態(tài)頁面方法有很多種,先說下我使用的其中的一種。參考資料
基本思路:
(1)創(chuàng)建模板template.html文件,在里面定義一些特殊的字符串格式用于替換內(nèi)容,如$htmlformat
(2)讀取模板,賦值到StringBuilder對象中
(3)將特殊的字符串格式替換為你想要的內(nèi)容
(4)創(chuàng)建新的靜態(tài)頁面,并將StringBuilder對象寫入到文件中即可
4. 方法
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Text; using System.IO; /// <summary> ///ConvertHtmlPage 生成靜態(tài)頁面 /// </summary> public class ConvertHtmlPage { /// <summary> /// 生成HTML文件 /// </summary> /// <param name="templatePath">模板路徑</param> /// <param name="templateName">模板名稱</param> /// <param name="htmlPath">生成HTML的路徑</param> /// <param name="htmlName">生成HTML的名稱</param> /// <param name="format">替換的內(nèi)容</param> /// <returns></returns> public static bool CreatePage(string templatePath,string templateName, string htmlPath, string htmlName,List<string> format) { try { //讀取模板文件 StringBuilder htmltext = new StringBuilder(); using (StreamReader sr = new StreamReader(templatePath+templateName)) { string line; while ((line = sr.ReadLine()) != null) { htmltext.AppendLine(line); } sr.Close(); } //替換HTML中的標(biāo)記內(nèi)容 for (int i = 0; i < format.Count; i++) { htmltext.Replace("$htmlformat[" + i + "]", format[i]); } //生成HTML文件 using (StreamWriter sw = new StreamWriter(htmlPath+htmlName, false, System.Text.Encoding.GetEncoding("GB2312"))) { sw.WriteLine(htmltext); sw.Flush(); sw.Close(); } } catch (Exception ex) { return false; } return true; } }
附:DEMO實例點擊此處本站下載。
更多關(guān)于asp.net相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《asp.net文件操作技巧匯總》、《asp.net操作json技巧總結(jié)》、《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結(jié)》、《asp.net ajax技巧總結(jié)專題》及《asp.net緩存操作技巧總結(jié)》。
希望本文所述對大家asp.net程序設(shè)計有所幫助。
- ASP.NET MVC3關(guān)于生成純靜態(tài)后如何不再走路由直接訪問靜態(tài)頁面
- 使用ASP.NET模板生成HTML靜態(tài)頁面的五種方案
- ASP.NET動態(tài)生成靜態(tài)頁面的實例代碼
- ASP.NET 生成靜態(tài)頁面 實現(xiàn)思路
- Asp.NET 生成靜態(tài)頁面并分頁的代碼
- Asp.Net生成靜態(tài)頁面的實現(xiàn)方法
- ASP.NET MVC生成靜態(tài)頁面的方法
- asp.net生成Excel并導(dǎo)出下載五種實現(xiàn)方法
- asp.net(C#) 生成隨機(jī)驗證碼的代碼
- ASP.net(c#)生成條形碼 code39條碼生成方法
- asp.net C#生成和解析二維碼的實例代碼
- Asp.net生成Excel文件并下載(更新:解決使用迅雷下載頁面而不是文件的問題)
相關(guān)文章
asp.net iis 無法顯示網(wǎng)頁的解決方法分析
使用過IIS的朋友都可能遇到過這樣的情況:即使您按照教科書的步驟做好各步設(shè)置以后,仍會出現(xiàn)“無法顯示網(wǎng)頁”的現(xiàn)象。2010-06-06更方便快捷的外部操作數(shù)據(jù)庫的方法(另類玩法)
數(shù)據(jù)庫操作方法很多,各種各樣但是外部操作數(shù)據(jù)庫的方法就會顯得格外陌生了,感興趣的朋友可以詳細(xì)了解下本文,或許對你學(xué)習(xí)ado.net有所幫助2013-02-02asp.net程序在調(diào)式和發(fā)布之間圖片路徑問題的解決方法
圖片顯示的時候,在VS調(diào)式時候,地址中有個虛擬文件名,發(fā)布后則沒有了.所以會有圖片顯示叉叉的情況.2009-12-12asp.net使用for循環(huán)實現(xiàn)Datalist的分列顯示功能
工程業(yè)績--用for循環(huán)代替了DataList多列顯示,得到2行四列的表格,需要內(nèi)存表的8行數(shù)據(jù)2009-12-12asp.net實現(xiàn)word文檔在線預(yù)覽功能的方法
這篇文章主要介紹了asp.net實現(xiàn)word文檔在線預(yù)覽功能的方法,可實現(xiàn)office文檔轉(zhuǎn)html,再在瀏覽器里面在線瀏覽,是非常實用的技巧,需要的朋友可以參考下2014-11-11asp.net通過動態(tài)加載不同CSS實現(xiàn)多界面
這篇文章主要介紹了asp.net通過動態(tài)加載不同CSS實現(xiàn)多界面,需要的朋友可以參考下2014-12-12Asp.net中的GridView導(dǎo)出遇到的兩個問題和解決方法
Asp.net下GridView導(dǎo)出遇到的兩個問題與解決方法,需要的朋友可以參考一下。2009-12-12ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫建模
這篇文章介紹了ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫建模的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04asp.net GridView模板列中實現(xiàn)選擇行功能
近來在項目中用到了GridView控件,用它實現(xiàn)添加、修改、刪除、選擇、顯示復(fù)雜表頭等功能2010-07-07