2009-11-16 2 views
5

У нас есть hudrends ASPX и HTML-файла на нашем сайте и хотелось бы добавить небольшой JavaScript в конце каждого файла. Если бы я хотел сделать это, используя HttpModule (пытаясь узнать что-то новое), это бы сделать - есть ли какие-то вопиющие проблемы?ASP.NET: ввод содержимого во все потоки ответов

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

Вы, наверное, знаете, легкий способ сделать это состоит в использовании статических элементов управления пользовательского пользователя на свой веб-сайт мастер-файл страницы, так же, как старый SSI включать файлы, не так ли?

О HttpModule, вы должны знать о содержании, которое не является HTML, но похоже, что вы уже удалили его с помощью isAspxOrHtmlFile(). Кажется, это хорошо для меня.

+1

Да, я уверен, что есть лучший способ сделать это, я просто использую это в качестве примера, чтобы ознакомиться с HttpModules. Благодаря :) – JamesBrownIsDead

Смежные вопросы