zoukankan      html  css  js  c++  java
  • 复写page的Render方法

     

    public class SetToken :System.Web.UI.Page
        
    {
            

            
    protected override void Render(System.Web.UI.HtmlTextWriter writer) 
            

                StringWriter sw 
    = new StringWriter(); 
                HtmlTextWriter htmlWriter 
    = new HtmlTextWriter(sw); 
                
    base.Render(htmlWriter); 
                
    string html = sw.ToString()  ;
                Regex obj 
    = new Regex("<a.*?(?: |\\\\t|\\\\r|\\\\n)?href=[\\'\"]?(.+?)[\\'\"]?(?:(?: |\\\\t|\\\\r|\\\\n)+.*?)?>(.+?)<\\/a.*?>", RegexOptions.IgnoreCase | RegexOptions.Compiled);
                MatchCollection matches = obj.Matches(html);
                CompareList list 
    = new CompareList();
                
    foreach (Match match in matches)
                
    {
                    
    string url = match.Groups[1].Value.ToLower();
                    list.Add(url);
                }

                
    foreach (string url in list)
                

                    
    string newUrl=Utils.WriteUrl(url);
                    html 
    = html.Replace(url, newUrl);
                }

                writer.Write(html) ; 
            }

        }


    该代码实现了复写page的rander方法,给解析出来的超链接统一添加token标记。页面使用在页面上继承这个类就可以了。
  • 相关阅读:
    03-三维空间刚体运动-基础知识体系
    特征值和特征向量
    齐次坐标和一般坐标
    c++中 重载 覆盖 隐藏的区别 附加 mutable笔记
    快速学习理解网络协议4
    快速学习理解网络协议3
    快速学习理解网络协议2
    快速学习理解网络协议1
    c++的直接初始化与复制初始化 未完成!!!!!!!!!!!!
    高性能网络编程(二)
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/1134596.html
Copyright © 2011-2022 走看看