前台代码如下:(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>aspx生成静态页面</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Title:<asp:TextBox ID="Title"
runat="server"></asp:TextBox>
<br />
Content:<asp:TextBox ID="Content" runat="server"></asp:TextBox><br />
Author:<asp:TextBox ID="Author" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</form>
</body>
</html>
后台代码如下:(default.aspx.cs)(注:其中Hover为web项目名)
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public static bool WriteFile(string strText, string strContent, string strAuthor)
{
string path = HttpContext.Current.Server.MapPath("/Hover/news/");
Encoding code = Encoding.GetEncoding("gb2312");
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath("/Hover/news/text.html");
StreamReader sr=null;
StreamWriter sw = null;
string str = "";
try
{
sr = new StreamReader(temp, code);
str = sr.ReadToEnd(); // 读取文件
}
catch (Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}
string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
str = str.Replace("ShowArticle", strText); //模板页中的ShowArticle
str = str.Replace("biaoti", strText);
str = str.Replace("content", strContent);
str = str.Replace("author", strAuthor);
// 写文件
try
{
sw = new StreamWriter(path + htmlfilename , false, code);
sw.Write(str);
sw.Flush();
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (WriteFile(this.Title.Text.ToString(), this.Content.Text.ToString(), this.Author.Text.ToString()))
{
Response.Write("添加成功");
}
else
{
Response.Write("生成HTML出错!");
}
}
}
其中text.html代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ShowArticle</title>
<body>
<p><br/>
<br/>
<br/>
</p>
<table width="200" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td> </td>
<td>biaoti </td>
</tr>
<tr>
<td> </td>
<td>content</td>
</tr>
<tr>
<td> </td>
<td>author</td>
</tr>
</table>
<p><br>
</p>
</body>