注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一车,一房,一个温暖家

10万左右的车,80平方的房子,这是我奋斗的暖暖的家

 
 
 

日志

 
 

引用 Asp.Net万能生成静态页面类   

2015-06-20 17:55:22|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

/**********************************************************************************
 * 程序说明:     生成静态页面类(简单型)
 * 创建日期:     2011.01.19
 * 修改日期:     2011.01.19
 * 程序制作:     agui
 * 联系方式:     mailto:dreamman_yx@163.com 
 * ********************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace PlugNT.Cms.Web.UI
{
    /// <summary>
    /// 生成静态页面类(简单型)
    /// </summary>
    public class HtmlBuilder
    {
        /// <summary>
        /// 执行生成
        /// </summary>
        /// <param name="tmpDynamicPath">模板动态页路径</param>
        /// <param name="lastCreatePath">上次生成路径(如果和生成路径一样则覆盖否则删除上次生成路径)</param>
        /// <param name="createPath">生成路径(如果为空则不生成)</param>
        /// <returns></returns>
        public static bool CreateHtml(string tmpDynamicPath, string lastCreatePath, string createPath)
        {
            try
            {
                createPath = System.Web.HttpContext.Current.Server.MapPath(createPath.Trim());
                //createPath = createPath.Trim();
                if (createPath != "")
                {
                    //编码
                    Encoding ResEncoding = System.Web.HttpContext.Current.Response.ContentEncoding;
                    //调用Execute,并且获取其输出
                    StringWriter sw = new StringWriter();
                    System.Web.HttpContext.Current.Server.Execute(tmpDynamicPath, sw);
                    string content = sw.ToString();
                    //写文件夹
                    int createFlag = createPath.LastIndexOf(@"\");
                    if (createFlag > 0)
                    {
                        string dir = createPath.Substring(0, createFlag);
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }
                    }
                    //写进文件
                    using (FileStream fs = new FileStream(createPath, FileMode.Create, FileAccess.Write, FileShare.Write))
                    {
                        using (StreamWriter strWriter = new StreamWriter(fs, ResEncoding))
                        {
                            strWriter.Write(content);
                        }
                    }
                   
                }
                //删除上次生成路径
                DeleteHtml(lastCreatePath);
                return true;
            }
            catch
            {
                return false;
            }
        }

        /// <summary>
        /// 删除文件
        /// </summary>
        /// <param name="filePath"></param>
        public static void DeleteHtml(string filePath)
        {
            filePath = filePath.Trim();
            if (filePath!="" && File.Exists(filePath))
            {
                File.Delete(filePath);
            }
        }
    }
}

调用代码:

if (PlugNT.Cms.Web.UI.HtmlBuilder.CreateHtml("/News.aspx?id=22" , "/test/1.html", "/test/2.html"))
{
    litMessager.Text = "生成页面成功!<a target='_blank' href='" + crepath + "'>点击访问该页面。</a>";
}
else
{
    litMessager.Text = "生成页面失败!";
}

  评论这张
 
阅读(5)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018