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

