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)即可。非常简单。
  • 相关阅读:
    JavaScript: RegExp + replace
    JavaScript:布局
    DOM和BOM区别
    正则表达式
    a report about the history of pragrem
    web第6次作业position
    web api
    DOM Event:事件流动(Event Flow)
    FOR衍生对象
    前端的发展
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/dot_net_generate_static_file.html
Copyright © 2011-2022 走看看