aspx のコンテンツを変更する (物理的にではなく、メモリ内のコンテンツを変更する) 必要がある理由は、aspx 全体が HttpHandler によって処理される前に、作成した特定のカスタム タグを正しいデータに解析する必要があるためです。
その方法はありますか?
aspx のコンテンツを変更する (物理的にではなく、メモリ内のコンテンツを変更する) 必要がある理由は、aspx 全体が HttpHandler によって処理される前に、作成した特定のカスタム タグを正しいデータに解析する必要があるためです。
その方法はありますか?
Renderイベントを使用できます
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
Dim sw As New System.IO.StringWriter
Dim hw As New HtmlTextWriter(sw)
MyBase.Render(hw)
Dim html As String = sw.ToString()
' html = html.Replace() etc to change your html code in here
writer.Write(html)
End Sub
編集asp.netがaspxを処理する前に、マークアップを動的に挿入したいのですが、FileLevelPageControlBuilderクラスが役立つかもしれません
応答フィルター (HttpFilter) を使用して、基本的に応答が形成された後、EndRequest フィルターが呼び出される前 (ストリームの子孫) にコンテンツをその場で変更し、必要に応じて変更することができます。HttpModule では、Init メソッドで HttpFilter (Response.Filter) をインストールする必要があり、その要求に対して呼び出されます。
ここに良い記事があります:
http://aspnetresources.com/articles/HttpFilters
更新: おそらくこれはXY 問題のケースであり、これらのカスタム タグを適切にレンダリングする単純なサーバー コントロールで問題を解決できます。