您的位置:首页 > 编程语言 > ASP

ASP.NET生成HTML文件

2007-10-10 10:11 260 查看
C# code
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;

/// <summary>
/// WriteFile 的摘要说明
/// </summary>
public class WriteFile
{
public WriteFile()
{

}
public static bool createHtml(string[] strnewsHtml,string[] stroldHtml,string strModeFilePath,string strPath)
{
bool flag = false;
StreamReader sr = null;
StreamWriter sw = null;
string filepath = HttpContext.Current.Server.MapPath(strModeFilePath);
Encoding code = Encoding.GetEncoding("gb2312");
string s = string.Empty;
try
{
sr = new StreamReader(filepath,code);
s = sr.ReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sr.Close();
}
try
{
for (int i = 0; i < strnewsHtml.Length; i++)
{
s = s.Replace(stroldHtml[i], strnewsHtml[i]);
}
sw = new StreamWriter(HttpContext.Current.Server.MapPath(strPath), false, code);
sw.Write(s);
flag = true;
}
catch (Exception ex)
{
flag = false;
throw ex;
}
finally
{
sw.Flush();
sw.Close();
}
return flag;
}
public static bool UpdateHtmlPage(string[] strNewsHtml, string[] strStartHtml, string[] strEndHtml, string strHtml)
{
bool Flage = false;
StreamReader ReaderFile = null;
StreamWriter WrirteFile = null;
string FilePath = HttpContext.Current.Server.MapPath(strHtml);
Encoding Code = Encoding.GetEncoding("gb2312");
string strFile = string.Empty;
try
{
ReaderFile = new StreamReader(FilePath, Code);
strFile = ReaderFile.ReadToEnd();

}
catch (Exception ex)
{
throw ex;
}
finally
{
ReaderFile.Close();
}
try
{
int intLengTh = strNewsHtml.Length;
for (int i = 0; i < intLengTh; i++)
{
int intStart = strFile.IndexOf(strStartHtml[i]) + strStartHtml[i].Length;
int intEnd = strFile.IndexOf(strEndHtml[i]);
string strOldHtml = strFile.Substring(intStart, intEnd - intStart);
strFile = strFile.Replace(strOldHtml, strNewsHtml[i]);
}
WrirteFile = new StreamWriter(FilePath, false, Code);
WrirteFile.Write(strFile);
Flage = true;
}
catch (Exception ex)
{
throw ex;
}
finally
{

WrirteFile.Flush();
WrirteFile.Close();
}
return Flage;
}

}

调用公共类:
----------------------------------------------------------------------------
protected void Button2_Click(object sender, EventArgs e)
{
string NewsTitle = this.TextBox1.Text;
string NewsKindName = this.DropDownList1.SelectedItem.Text;
string NewsBody = this.WebEditor1.Text;
DateTime PubTime = DateTime.Now;
string UserName = Session["UserName"].ToString();
Response.Write(NewsKindName);
string[] strNewsHtml = new string[] { NewsTitle, NewsKindName, NewsBody, PubTime.ToString(), UserName };
string[] strOldHtml = new string[] { "@Title", "@NewsKInd", "@NewsBody", "@PubTime", "@UserName" };
string strFileName = DateTime.Now.ToString("ddhhmmss") + ".html";
string strFilePath = string.Format("NewsHtml/{0}", strFileName);
try
{
if (WriteFile.createHtml(strNewsHtml, strOldHtml, "mode.htm", strFilePath))
{
this.Label1.Text = "生成成功!";
}
else
{
this.Label1.Text = "生成失败!";
}

}
catch
{
this.Label1.Text = "生成失败!";
}
}

protected void Button3_Click(object sender, EventArgs e)
{
string[] strNewsHtml=new string[]{"鑫少爷到此一游!"};
string[] strStartHtml=new string[]{"<!-- start -->"};
string[] strEndHtml=new string[]{"<!--end-->"};
if (WriteFile.UpdateHtmlPage(strNewsHtml, strStartHtml, strEndHtml, "NewsHtml/02011139.html"))
{
this.Label1.Text="生成首页成功!";
}
else
{
this.Label1.Text="生成首页失败!";
}
}

新建文件夹NewsHtml,生成html文件放在里面
-----------------------------------------------------------

增加一个模板文件

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0" style="width: 522px; height: 338px">
<tr>
<td align="center" colspan="2">
@Title</td>
</tr>
<tr>
<td align="center" colspan="2">
发布人:@UserName     发布时间:@PubTime      新闻类别:@NewsKInd</td>
</tr>
<tr>
<td colspan="2">
@NewsBody</td></tr><tr>
<td style="WIDTH: 100px">
</td><td style="WIDTH: 100px" >
</td></tr></table></body></html>

该文章转载自网络大本营:http://www.xrss.cn/Dev/DotNet/200782716099.Html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: