-
最近要做網站靜態化,自己寫了幾個方法,貼出來跟大家討論討論。
///
/// 網站靜態化功能類
///
public class CreateHtml
{
///
/// 讀取範本內容
///
/// 模板相對路徑
///
public string Html_ReadTemplate(string template)
{
#region
StringBuilder str = new StringBuilder();//存放模式內容
if (template != null && template != "" && template.Length > 0)//如果
{
try
{
using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath(template), Encoding.GetEncoding("utf-8")))
{
string tempStr;
while ((tempStr = sr.ReadLine()) != null)//如果沒有讀取檔案末尾
{
str.Append(tempStr);
}
sr.Close();
}
}
catch (Exception ex)
{
return null;
}
}
return str.ToString();
#endregion
}
///
/// 根據產生檔案絕對路徑、產生檔案名稱產生文件
///
/// 檔案絕對路徑
/// 產生檔名
/// 寫入檔案內容
///
public int Html_WriteTemplate(string fileAbsolutePath, string htmlName,string htmlNote)
{
#region
if (fileAbsolutePath != null && fileAbsolutePath != "" && fileAbsolutePath.Length > 0 && htmlName != null && htmlName != "" && htmlName.Length > 0)
{
try
{
using (FileStream fs = new FileStream(fileAbsolutePath + "\" + htmlName, FileMode.Create, FileAccess.Write, FileShare.Write))
{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("utf-8"));
sw.Write(htmlNote);
sw.Close();
fs.Close();
return 1;//檔案產生成功
}
}
catch (Exception ex)
{
return 0;
}
}
return 0;//檔案產生失敗
#endregion
}
///
/// 依照讀取到所有內容進行分頁讀取,每頁與每頁以「|」分割
///
/// 內容
/// 分頁標誌
///
public string Html_BackPageData(string contentText,string pageLogo)
{
#region
int tempcount = 0;
StringBuilder sb = new StringBuilder();
while (tempcount >= 0)
{
int index = contentText.IndexOf(pageLogo);//分頁標誌
if (index == -1)//如果沒有分頁了
{
sb.Append(contentText);
break;
}
else
{
sb.Append(contentText.Substring(0,index)+"|");
int start = index + pageLogo.Length + 1;
int end = contentText.Length-index-pageLogo.Length - 1;
contentText=contentText.Substring(start, end);
}
tempcount++;
}
return sb.ToString();
#endregion
}
///
/// 針對內容產生對應的分頁標誌,首頁、上一頁、頁碼、下一頁、尾頁(針對一條內容)
///
/// 當前頁索引
/// 總頁數
/// 檔名(只跟檔名不跟後綴名)
///
public string Html_Pager_Sign(int currPageIndex, int pageCount, string noteName)
{
#region
string allSeprNote = "
$firstpage$ | $uppage$ | $pagenumber$ td> | $drownpage$ | $lastpage$ |
if (i == currentPage)
{
sb.Append(" " + (i+1) + " ");
}
else if (i == 0)//如果目前頁是第二頁,需要單獨處理一下
{
sb.Append(" " + (i + 1) + " ");
}
else
{
sb.Append(" " + (i + 1) + " ");
}
}
//產生下一頁、尾頁
if (currentPage == pageTotal)//如果當前頁是最後一頁
{
sb.Append(" 下一頁 ");
sb.Append(" 尾頁 ");
}
else
{
sb.Append(" 下一頁 ");
sb.Append(" 尾頁");
}
sb.Append(" " + (currentPage + 1) + "/" + (pageTotal + 1));
sb.Append(" 到:");
sb.Append("");
return sb.ToString();
#endregion