• 页面执行时生成静态文件的方法


        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)即可。非常简单。
  • 相关阅读:
    绝对干货:供个人开发者赚钱免费使用的一些好的API接口
    科普技术贴:个人开发者的那些赚钱方式
    北漂程序员的笑与泪
    非著名程序员公众号
    北漂程序员的笑与泪
    【有人@我】Android中高亮变色显示文本中的关键字
    新时代的coder如何成为专业程序员
    自定义圆形控件RoundImageView并认识一下attr.xml
    偷天换日:网络劫持,网页js被伪装替换。
    jeesite 去掉 /a
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/dot_net_generate_static_file.html
Copyright © 2020-2023  润新知