| ..: Как сделать так, чтобы у всех страниц был свой header и
свой footer. Желательно сделать так, чтобы не пришлось менять все
страницы? :.. |
Старый добрый вопрос, однако полного ответа
я на него так и не нашел, пришлось посидеть минут 20 с
MSDN.
Итак, создаем класс, реализующий интерфейс IHttpModule:
using System; using
System.Web;
namespace Site2
{ public class LoaderClass: IHttpModule
{ //
метод интерфейса
Init() public
void Init(HttpApplication app)
{
// обработчик события на начало загрузки
app.BeginRequest += new
System.EventHandler(this.Header);
// обработчик события на конец загрузки
app.EndRequest += new System.EventHandler(this.Footer);
}
// метод
интерфейса Dispose()
public void Dispose()
{
}
private
void Header(object sender, System.EventArgs
e) {
//
Реализация обработчиков
HttpApplication app = (HttpApplication) sender;
app.Server.Execute( "Header.aspx" );
}
private
void Footer(object sender, System.EventArgs e)
{
// Реализация обработчиков
HttpApplication app = (HttpApplication) sender;
app.Server.Execute( "Footer.aspx"
); } }
}
И затем добавляем в файл Web.config вот это: <HttpModules> <add
type="Site2.LoaderClass,Site2" name="LoaderClass"
/> </HttpModules>
Вот и все - должно работать, код взят из работающего
приложения (именно из этого). Успехов!
Автор: Александр Игнатьев
daoto@daoto.net
Источник: http://www.daoto.net/
При перепечатке любого материала с журнала или с сайта,
видимая ссылка на источник
http://altwebdeveloper.nm.ru
и все имена, ссылки авторов обязательны.
© 2004 CAS "altDesign"
© Валерий В. Макеев (deepInfinity)
|