代码之家  ›  专栏  ›  技术社区  ›  3Dave

在httpmodule中呈现页面?

  •  2
  • 3Dave  · 技术社区  · 15 年前

    有人知道如何在httpmodule内部呈现一个aspx页面并将其流回到浏览器吗?

    3 回复  |  直到 13 年前
        1
  •  5
  •   Gonzalo    15 年前

    你可以这样做:

    Type page_type = BuildManager.GetCompiledType ("~/page.aspx");
    Page page = (Page) Activator.CreateInstance (page_type);
    page.ProcessRequest (Context);
    
        2
  •  3
  •   Darin Dimitrov    15 年前
    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());
        }
    }
    
        3
  •  2
  •   RickNZ    15 年前

    最好的方法可能是使用URL重写将标准处理程序处理步骤重定向到要呈现的页面。类似:

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

    您可以从BeginRequest事件处理程序运行它。