当前位置: 代码迷 >> ASP.NET >> 请教动态网页怎么自动生成html文件
  详细解决方案

请教动态网页怎么自动生成html文件

热度:2275   发布时间:2013-02-25 00:00:00.0
请问动态网页如何自动生成html文件
看见别人做的动态网页,
在被点击时会自动生成html文件
哪位大哥知道这是怎么做的。

------解决方案--------------------------------------------------------
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") + "";        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"))        {            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 &nbsp; &nbsp; 发布时间:@PubTime &nbsp; &nbsp;&nbsp; 新闻类别:@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
  相关解决方案