ASP.NET編程簡單實(shí)現(xiàn)生成靜態(tài)頁面的方法【附demo源碼下載】
本文實(shí)例講述了ASP.NET編程簡單實(shí)現(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實(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é)》。
希望本文所述對大家asp.net程序設(shè)計(jì)有所幫助。
- ASP.NET MVC3關(guān)于生成純靜態(tài)后如何不再走路由直接訪問靜態(tài)頁面
- 使用ASP.NET模板生成HTML靜態(tài)頁面的五種方案
- ASP.NET動態(tài)生成靜態(tài)頁面的實(shí)例代碼
- ASP.NET 生成靜態(tài)頁面 實(shí)現(xiàn)思路
- Asp.NET 生成靜態(tài)頁面并分頁的代碼
- Asp.Net生成靜態(tài)頁面的實(shí)現(xiàn)方法
- ASP.NET MVC生成靜態(tài)頁面的方法
- 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文件并下載(更新:解決使用迅雷下載頁面而不是文件的問題)
相關(guān)文章
如何在ASP.NET Core 的任意類中注入Configuration
這篇文章主要介紹了如何在 ASP.NET Core 的任意類中注入Configuration ,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04
asp.net 文件路徑之獲得虛擬目錄的網(wǎng)站的根目錄
asp.net下獲取文件路徑常用代碼,獲得虛擬目錄的網(wǎng)站的根目錄2012-10-10
Silverlight融合ajax實(shí)現(xiàn)前后臺數(shù)據(jù)交互
兩年前Silverlight 還未起名,故事發(fā)生在WPF/E 的年代里。07年8月在中軟實(shí)習(xí)時,我承擔(dān)起了在. Net 中嵌入WPF/E 的任務(wù),目的是增強(qiáng)用戶體驗(yàn)。2009-05-05
分享Visual Studio原生開發(fā)的10個調(diào)試技巧
我整理了一些Visual Studio 至少在VS 2008下 原生開發(fā)的調(diào)試技巧,下面是我的整理的一些技巧,需要的朋友可以參考下2013-08-08
win2003服務(wù)器.NET+IIS環(huán)境常見問題排障總結(jié)
在使用iis運(yùn)行asp.net環(huán)境的時候,總是會或多或少的碰到各種各樣的.net運(yùn)行錯誤,這里特別從網(wǎng)絡(luò)整理了下,方便需要的朋友。2011-08-08
.NET?Core實(shí)現(xiàn)簡單的Redis?Client框架
本文詳細(xì)講解了.NET?Core實(shí)現(xiàn)簡單的Redis?Client框架,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02

