2

HttpModule 内で aspx ページをレンダリングし、それをブラウザーにストリーミングする方法を知っている人はいますか?

4

3 に答える 3

5

次のようなことができます。

Type page_type = BuildManager.GetCompiledType ("~/page.aspx");
Page page = (Page) Activator.CreateInstance (page_type);
page.ProcessRequest (Context);
于 2009-11-13T22:07:43.313 に答える
3
public void ProcessRequest(HttpContext context)
{
    using (var writer = new StringWriter())
    {
        context.Server.Execute("default.aspx", writer);
        context.Response.ContentType = "text/html";
        context.Response.Write(writer.GetStringBuilder().ToString());
    }
}
于 2009-11-13T22:08:20.163 に答える
2

おそらく最善の方法は、URL 書き換えを使用して、標準の Handler 処理ステップをレンダリングするページにリダイレクトすることです。何かのようなもの:

context.RewritePath("yourpage.aspx", false);

これは、BeginRequest イベント ハンドラーから実行できます。

于 2009-11-15T15:56:02.303 に答える