zoukankan      html  css  js  c++  java
  • 页面执行时生成静态文件的方法

        protected override void Render(HtmlTextWriter writer)
            
    {
                
    if (EnableStaticFile)
                
    {
                    
    if (transferToHtml) return;
                    
    string authorPath = Server.MapPath("/authors/" + GetUrlPath(authorID) + ".html");
                    
    string authorDir = Path.GetDirectoryName(authorPath);
                    
    if (!Directory.Exists(authorDir))
                    
    {
                        Directory.CreateDirectory(authorDir);
                    }

                    TextWriter ioWriter 
    = null;
                    HtmlTextWriter hioWriter 
    = null;
                    
    try
                    
    {
                        ioWriter 
    = new StreamWriter(authorPath, false, Response.ContentEncoding);
                        hioWriter 
    = new HtmlTextWriter(ioWriter);
                        
    base.Render(hioWriter);
                    }

                    
    catch (Exception) { }
                    
    finally
                    
    {
                        
    if (ioWriter != null) ioWriter.Close();
                        
    if (hioWriter != null) hioWriter.Close();
                    }

                }


                
    base.Render(writer);
            }
    如上代码,重写Page的Render方法,新建一个指向文件的HtmlTextWriter在页面输出之前执行base.Render(txtWriter)即可。非常简单。
  • 相关阅读:
    孔曰成仁,孟曰取义
    mysql索引&实现原理
    MySQL存储引擎
    HashMap原理
    反射
    list对象属性排序
    mysql数据表操作&库操作
    mysql字段类型
    java线程池初步理解
    java四种内部类
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/dot_net_generate_static_file.html
Copyright © 2011-2022 走看看