C#(asp.net)生成网站静态化的方法
2017-6-25 11:49:44 独占网络 独占观点
讲到网站建设,现在由于出于安全性问题,还有网站排名的问题考虑,所以许多的网站都使用静态化来实现技术网站前台网页处理的,下面我们就进一下我们制作静态化网页的方法,实现网页静态化的方法,一般有两种一种是直接通过,读取动态网页直接生成,一般是使用模板网页替换的,我们今天就来讲一下用模板网页替换的方法。
1、静态化网页模板的代码(index.html)
<div class="t_bg">
<div class="top">
<a href="/Contact/index.html">联系我们</a>
</div>
</div>
<div class="head clearfix">
<div class="logo"><a href="/">
<img src="@company@" alt="@company@" /></a></div>
<div class="search">
<input class="showkeyword" type="text" placeholder="请输入关键字">
<input class="searchbtn" type="submit" value="搜 索">
</div>
<div class="tel">
<span><em>热线电话:</em> </span>
<b>@webtel@</b>
</div>
</div>
2、读取网页的模板页(index.html)的代码
/// <summary>
/// 根据文件的路径读取文件的信息
/// </summary>
/// <param name="filepath">文件的路径</param>
/// <returns>返回文件的信息</returns>
public static string ReadFile(string filepath)
{
StringBuilder strhtml = new StringBuilder();
try
{
using (StreamReader reader = new StreamReader(filepath, System.Text.Encoding.GetEncoding("utf-8")))
{
while (reader.Peek() >= 0)
{
strhtml.Append(((char)reader.Read()).ToString());
}
}
}
catch { return ""; }
return strhtml.ToString();
}
3、替换标签的代码代码
public static string returnWebConfig(string html)
{
html = html.Replace("@address@","深圳市");
html = html.Replace("@company@", "独占网络");
html = html.Replace("@webtel@", "公司电话");
}
4、写入到新网页的代码
public bool CreateWriteFile(string strNewsFilePath, string verpath)
{
bool flag = false;
//创建一个写文件信息的文件流
StreamWriter strWrite = null;
//怎样一个编号为Utf-8的信息
Encoding code = Encoding.GetEncoding("utf-8");
try
{
//创建一个写入文件流
strWrite = new StreamWriter(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory) + strNewsFilePath, false, code);
//将刚才记取到的信息写入到文件流里面去
strWrite.Write(strFileinfo);
//创建成功就true
flag = true;
}
catch (Exception ex)
{
throw ex;
}
finally
{
strWrite.Flush();
//关闭文件流
strWrite.Close();
}
return flag;
}
通过上面四个方法就可以实现替换网页生成新的静态网页。