<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CreateHtml.aspx.cs" Inherits="CreateHtml" %>
<!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>生成新闻</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="CHtml" runat="server"></asp:Label>
<asp:HyperLink ID="HtmlLink" runat="server" Text="点击查看" Target="_blank" NavigateUrl="~/5.html"></asp:HyperLink>
</div>
</form>
</body>
</html>
/*----------------------------后台代码--------------------------------*/
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Data.OleDb;
using System.IO;
using System.Text;
public partial class CreateHtml : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
CreateAction(0);
string NewsId = Request.QueryString["newsid"];
/*单个生成的时候用这个
if(!String.IsNullOrEmpty(NewsId))
{
CreateAction(Convert.ToInt32(NewsId));
}
*/
}
protected void CreateAction(int newsid)
{
OleDbConnection conn = Class1.CreateConn();
conn.Open();
string LinkUrl = "";
string SelectSql = "Select * From News";
OleDbCommand cmd = new OleDbCommand(SelectSql,conn);
OleDbDataReader NewsReader = cmd.ExecuteReader();
while(NewsReader.Read())
{
string html = File.ReadAllText(Server.MapPath("Temp.html"));
html = html.Replace("{Title}",NewsReader.GetString(1));
html = html.Replace("{Content}",NewsReader.GetString(2));
LinkUrl = "" + NewsReader.GetInt32(0).ToString() + ".html";
FileStream FS = new FileStream(Server.MapPath(LinkUrl),FileMode.Create,FileAccess.Write);
StreamWriter SW = new StreamWriter(FS,Encoding.Default);
SW.WriteLine(html);
SW.Close();
FS.Close();
}
CHtml.Text = "生成成功!";
HtmlLink.NavigateUrl = LinkUrl;
NewsReader.Close();
NewsReader.Dispose();
conn.Close();
}
}