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标记。页面使用在页面上继承这个类就可以了。
  • 相关阅读:
    c++第二十八天
    pyDay16
    c++第二十七天
    c++第二十六天
    WinForm 应用程序的打包与部署
    更换Winform 皮肤(下)----完全GDI+绘制
    更换Winform 皮肤(上)----使用现有皮肤
    KeyValuePair用法(转)
    C#中HashTable的用法
    WinForm----DataGridview---连接数据库,以及双击一条数据,显示信息到Label控件,也可以是TextBox控件。
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/1134596.html
Copyright © 2011-2022 走看看