繁体   English   中英

在HttpModule中渲染页面?

[英]Render a page inside of an HttpModule?

任何人都知道如何在HttpModule中呈现一个aspx页面并将其流回浏览器?

你可以这样做:

Type page_type = BuildManager.GetCompiledType ("~/page.aspx");
Page page = (Page) Activator.CreateInstance (page_type);
page.ProcessRequest (Context);
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());
    }
}

最好的方法可能是使用URL重写将标准处理程序处理步骤重定向到要渲染的页面。 就像是:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM