首先 建立一个页面1.html 模板页
生成静态页有很多好处,可以缓解服务器压力、方便搜索网站搜索等等,下面介绍一下生成静态页的实例代码,有需要的朋友可以参考一下
最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<div>
$content$
</div>
</body>
</html>
2. 再建立页面
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtContent" runat="server" Height="179px" TextMode="MultiLine" Width="350px"></asp:TextBox><br />
<br />
<asp:Button ID="btnMake" runat="server" OnClick="btnMake_Click" Text="生成静态页" />
</div>
</form>
</body>
</html>
3 代码也
Imports System
Imports System.IO
Imports System.Text
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub btnMake_Click(sender As Object, e As EventArgs) Handles btnMake.Click
'替换掉模板中的特征字符
Dim mbpath As String = Server.MapPath("template.html")
Dim code As Encoding = Encoding.GetEncoding("UTF-8")
Dim sr As StreamReader
Dim sw As StreamWriter
Dim str As String = ""
'Try
sr = New StreamReader(mbpath, code)
str = sr.ReadToEnd()
'Catch ex As Exception
'Throw ex
'Finally
sr.Close()
'End Try
'根据时间自动重命名,扩展名也可以自行修改
Dim fileName As String = DateTime.Now.ToString("yyyyMMddHHmm") + ".html"
str = str.Replace("$content$", txtContent.Text) '替换content
'生成静态文件
'Try
sw = New StreamWriter(Server.MapPath("/") + fileName, False, code)
sw.Write(str)
sw.Flush()
'Catch ex As Exception
'Throw ex
'Finally
sw.Close()
Response.Write("<a href=" + fileName + " mce_href=" + fileName + " target=_blank>" + fileName + "</a>已经生成!")
'End Try
End Sub
End Class