.Henrik


21. mar 2004 09:30

Jeg fik for et par dage siden spørgsmålet om, hvordan man modificerer den (HTML-) kode, som sendes ud til browseren fra en ASP.NET side. Én mulighed er at overskrive sidens Render-metode:

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

      System.Text.StringBuilder builder = new System.Text.StringBuilder();
      System.IO.StringWriter theStringWriter = new System.IO.StringWriter(builder);
      System.Web.UI.HtmlTextWriter theHtmlWriter = new System.Web.UI.HtmlTextWriter.HtmlTextWriter(theStringWriter);

      base.Render(theHtmlWriter);

      string html = builder.ToString();

      //Her kan man så lave sine erstatninger...
     //Som for eksempel at erstatte karakter-sekvenser i html-variablen

      writer.Write(html);

  }

Man skal dog nok være opmærksom på, at den ret simple implementation, som ses ovenfor, ikke er den optimale set ud fra et performance-mæssigt synspunkt, idet hele siden opsamles i streng-variablen "html", hvilket mindsker muligheden for en effektiv streaming af store sider. Det vil dog ikke, hvis man ønsker det, være det store problem, at lave alternative implementationer der håndterer denne problemstilling. Til gengæld er nærværende implementation jo unægeligt dejlig simpel, hvilket da også har sine fordele ;^ )



Abonnér på mit RSS feed.   Læs også de øvrige indlæg i denne Blog.