asp.net动态生成静态页面方法教程

发布时间:2020-08-25编辑:脚本学堂
有关asp.net动态生成静态页面的方法,读取数据库的数据替换掉静态模板页的内容,然后生成相应的静态页面文件,需要的朋友参考下。

asp.net生成静态页面,只是实现静态页面的生成并没有实现分页功能。

原理分析:读取数据库的数据然后替换掉静态模板页的内容。>>> 有关 asp.net 生成静态页面的方法 全都汇总在这里了。

首先,制作一个模板页,暂时命名为template.htm。
 

复制代码 代码示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>asp.net动态生成静态页面_www.jb200.com</title>
</head>
<body>
<div>
 $content$
</div>
</body>
</html>
 

然后,制作一个动态页面,通过一个按钮点击事件来生成静态页面。

前台页面主要代码(Default.aspx):
 

复制代码 代码示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>ASP.NET动态生成静态页面-www.jb200.com</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> 

后台页面主要代码(Default.aspx.cs):
 

复制代码 代码示例:
protected void btnMake_Click(object sender, EventArgs e) 

 //替换掉模板中的特征字符    
 string mbPath = Server.MapPath("template.htm"); 
 Encoding code = Encoding.GetEncoding("UTF-8"); 
 StreamReader sr = null; 
 StreamWriter sw = null; 
 string str = null; 
 //读取    
 try 
 { 
     sr = new StreamReader(mbPath, code); 
     str = sr.ReadToEnd(); 
 } 
 catch (Exception ex) 
 { 
     throw ex; 
 } 
 finally 
 { 
     sr.Close(); 
 } 
 //根据时间自动重命名,扩展名也可以自行修改    
 string fileName = DateTime.Now.ToString("yyyyMMddHHmm") + ".htm"; 
 str = str.Replace("$content$", txtContent.Text);//替换content   
 //生成静态文件    
 try 
 { 
     sw = new StreamWriter(Server.MapPath("~/") + fileName, false, code); 
     sw.Write(str); 
     sw.Flush(); 
 } 
 catch (Exception ex) 
 { 
     throw ex; 
 } 
 finally 
 { 
     sw.Close(); 
     Response.Write("<a href=" + fileName + " mce_href=" + fileName + " target=_blank>" + fileName + "</a>已经生成!"); 
 } 
}