ASP.NET生成静态页

来源:互联网 发布:淘宝全球购 采购地 编辑:程序博客网 时间:2024/06/05 19:05

cs部分

________________________________________________________________

 

先添加以下头文件

using System.Net;
using System.Text;
using System.IO;

 

以下就是代码,添加html的函数和事件

 

protected void btnAddHtml_Click(object sender, EventArgs e)
    {
        //源码是替换掉模板中的特征字符
        string strPathTemp="~/Html/HtmlFile/HtmlModel/Text.htm";
        string strHtml="~/Html//HtmlFile/HtmlAll/";
        CreateHtml(strPathTemp, strHtml);

    }

 

    public void CreateHtml(string TemPath, string HtmlPath)
    {
        string mbPath = Server.MapPath(TemPath);
        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("yyyyMMddHHmmss") + ".htm";
        str = str.Replace("$title$", txtTitle.Text);//替换Title
        str = str.Replace("$content$", fkContent.Value);//替换content
        str = str.Replace("$PublishTime$", DateTime.Now.ToString());
        //生成静态文件
        try
        {
            sw = new StreamWriter(Server.MapPath(HtmlPath) + fileName, false, code);
            sw.Write(str);
            sw.Flush();

        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            sw.Close();
            Response.Write("恭喜<a href=HtmlFile/HtmlAll/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!");
        }
    }


    protected void btnUrl_Click(object sender, EventArgs e)
    {
        Encoding code = Encoding.GetEncoding("UTF-8");
        StreamReader sr = null;
        StreamWriter sw = null;
        string str = null;

        //读取远程路径
        WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
        WebResponse myTemp = temp.GetResponse();
        sr = new StreamReader(myTemp.GetResponseStream(), code);
        //读取
        try
        {
            sr = new StreamReader(myTemp.GetResponseStream(), code);
            str = sr.ReadToEnd();

        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            sr.Close();
        }
        string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";

        //写入
        try
        {
            sw = new StreamWriter(Server.MapPath("/HtmlFile/HtmlAll/") + fileName, false, code);
            sw.Write(str);
            sw.Flush();

        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            sw.Close();
            Response.Write("恭喜<a href=HtmlFile/HtmlAll/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在html文件夹下!");
        }
    }

 

 

————————————————————————————————————————

ASPX文件

 

 <div>
        标题:<asp:TextBox ID="txtTitle" runat="server" Width="352px"></asp:TextBox><br />
        内容:
        <FCKeditorV2:FCKeditor ID="fkContent" runat="server" DefaultLanguage="zh-cn" Width="650px" Height="450px">
        </FCKeditorV2:FCKeditor>
            <br />
        <br />
        <asp:Button ID="btnAddHtml" runat="server" Text="根据模板生成"
            onclick="btnAddHtml_Click" /><br />
      
        <br />
        <br />
        Url地址:<asp:TextBox ID="txtUrl" runat="server" ToolTip="请确认Url地址的存在" Width="359px"></asp:TextBox>
        <br />
        <br />
        <asp:Button ID="btnUrl" runat="server" Text="根据Url地址生成" onclick="btnUrl_Click"/>
    </div>

 

 

 

——————————————————————————————————————

 

生成后的结果

 

 

 

添加内容后

 

——————————————————————————————————————————————

 

 

 

 

 

 

原创粉丝点击