出力ストリームをオーバーライドPage_Render
して簡単にインターセプトできます。これを行うリスクはありません。任意のPage
:
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
// intercept the output stream and write to your own
// StringWriter, bound to a StringBuilder
var sb = new StringBuilder();
var sw = new StringWriter(sb);
base.Render(sw);
string html = sb.ToString();
// do stuff to alter "html"
..
// write it to the real output stream
writer.Write(html)
}
(非同期ポストバック)を使用している場合UpdatePanels
、HTML が特別な方法でフォーマットされているため、少し複雑になる可能性があります。そこでも、変更することは不可能ではありませんが、実際には UpdatePanel データ ブロックにチェックサムがあるため、より多くの作業が必要になります。(幸いなことに、これは非常に単純なもので、コンテンツの長さだけです)。しかし、内容を変更して書き直すだけという単純なものではありません。
ただし、非非同期ポストバックの場合は、他の HTML ページと同じように見えるので、好きなように変更してください。