5

我们的站点中有数百个 ASPX 和 HTML 文件,并且希望在每个文件的末尾注入一个小的 JavaScript。如果我想使用 HttpModule (尝试学习新东西)来做到这一点,这样做会 - 有什么明显的问题吗?

public void Init(HttpApplication context)
{
    context.BeginRequest += new EventHandler(context_BeginRequest);
}

void context_BeginRequest(object sender, EventArgs e)
{
    var context = HttpContext.Current;

    if (!isAspxOrHtmlFile(context.Request.Path)
    {
        return;
    }

    var javascript = ...

    using (var writer = new StringWriter())
    {
        context.Server.Execute(context.Request.Path, writer);
        context.Response.ContentType = "text/html";
        context.Response.Write(writer.GetStringBuilder().ToString() + javascript);
    }

    context.Response.End();
}
4

1 回答 1

4

您可能知道简单的方法是在您的网站母版页文件中使用静态自定义用户控件,就像旧的 SSI 包含文件一样,对吧?

关于 HttpModule,您应该注意不是 HTML 的内容,但似乎您已经使用isAspxOrHtmlFile(). 对我来说似乎很好。

于 2009-11-16T18:03:48.600 回答