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)即可。非常简单。
  • 相关阅读:
    意料之外,情理之中,Spring.NET 3.0 版本发布-
    学习究竟是为了什么?
    测量软件应用系统的聚合复杂度【翻译稿】
    关键字New,如阴魂不散
    选择IT事业,意味着终身学习
    华为机试001:字符串最后一个单词的长度(华为OJ001)
    C++版
    C++版
    C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
    C++版
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/dot_net_generate_static_file.html
Copyright © 2011-2022 走看看