首页 .NET/Web 动态生成静态页面 ASP.NET

动态生成静态页面 ASP.NET

作者:胡同里的砖头 围观群众:2081 更新于:2013-12-19

protected void Button1_Click(object sender, EventArgs e)
    {
        StreamReader sr = null; //声明一个读取流,暂未实例化
        Encoding ed = Encoding.GetEncoding("GB2312"); //实例化一个字符编码方式
        string str = string.Empty; //新建一个空的字符串变量

        try
        {
            sr = new StreamReader(Server.MapPath("~/Admin_Hu/20100103142936.htm"), ed); //以GB2312的编码方式加载模板文件
            str = sr.ReadToEnd(); //从头到尾读取模板中的所有内容并以字符串的形式赋值给字符串变量str
        }
        catch (Exception Error)
        {
            throw Error;
        }
        finally
        {
            sr.Close(); //关闭读取文件流
        }
        //Response.Write(str); 调试

        StreamWriter sw = null; //声明一个写入流,暂未实例化
        str = str.Replace("$Title$", this.TextBox1.Text.ToString()); //替换指定标记的内容
        str = str.Replace("$map$", this.TextBox1.Text.ToString()); //替换指定标记的内容
        str = str.Replace("$Content$", this.TextBox2.Text.ToString());
        string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm"; //声明一个生成文件名的变量

        try
        {
            //实例化一个写入流类,如果文件不存在时,系统会自动创建文件
            //这里的false表示:如果该文件存在,则该文件将被覆盖。
            sw = new StreamWriter(Server.MapPath("~/HTML/") + fileName, false, ed);
            sw.Write(str); //将新的字符串写入到新的文件中
            sw.Flush(); //清理当前编写器中的所有缓冲区
            Response.Write("成功生成<a href=\"Html/" + fileName + "\" target=\"_blank\">" + fileName + "</a>文件!"); //输出生成文件后的链接地址
        }
        catch (Exception Error)
        {
            throw Error;
        }
        finally
        {
            sw.Close(); //关闭写入流
        }
    }

  • 本文标题: 动态生成静态页面 ASP.NET
  • 文章分类:【.NET/Web】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8