Früher habe ich HttpModule verwendet, um Cookies vor Response zu ändern. Heute habe ich festgestellt, dass Asp.net die Initiative ergriffen und die chinesischen Zeichen konvertiert hat, an deren Konvertierung ich so hart gearbeitet habe, ganz zu schweigen von den Web-Steuerelementen von Asp.net Ranat=server wird zur Ausgabe zwangsweise in chinesische Schriftzeichen konvertiert.
Würde man den Seiteninhalt Zeile für Zeile per Response ausschreiben, wäre das zu ermüdend und fehleranfällig. Daher ist es am besten, nach Abschluss der Generierungsaktion von Asp.net eine weitere Konvertierung durchzuführen, sodass Asp.net nichts mit Ihnen zu tun hat.
Alle Generierungsaktionen von Asp.net werden in der Render-Methode abgeschlossen, daher führen wir Vorgänge für die Render-Methode aus:
protected override void Render(HtmlTextWriter-Writer)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htmlw = new HtmlTextWriter(sw);
//Nehmen Sie den generierten Inhalt der Seite heraus
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string pageContent = sw.ToString();
//Ändern Sie den Inhalt
pageContent = KillTheBugAndShit(pageContent);
Response.Write(pageContent);
//base.Render (Writer);
}
Mit dieser Methode können Sie auch den von der Seite generierten Inhalt herausnehmen und eine statische Seite zur Verwendung erstellen.
(Ich glaube, ich habe letztes Jahr einen Beitrag mit diesem Inhalt geschrieben … ich erinnere mich nicht)