Я хочу смочь запустить скрипт каждый раз, когда ЛЮБАЯ страница загружается в приложении. Есть ли где-нибудь, я могу просто добавить это? Или я должен добавить код в каждой загрузке страницы?
Вы можете сделать одно из трех:
Использовать базовую страницу в своем приложении, и все страницы в вашем приложение наследует от него. В событии page_load на базовой странице сделайте то, что вам нужно. Убедитесь, что наследующие страницы в вашем приложении вызывают событие page_load базовой страницы, если они переопределяют page_load (обычно они это делают). И поскольку page_load используется слишком часто, я дам соответствующий совет, чтобы просмотреть все события страницы (особенно особенно page_prerender ) на случай, если другой будет более подходящим.
Используйте события, которые запускаются на странице global.asax , которые происходят всякий раз при получении запроса. Посмотрите событие Application_BeginRequest.Но там есть куча событий, поэтому проверьте их все на случай, если другое событие более применимо к вашей ситуации. (Как и в случае с обычными событиями страницы, не приобретайте дурную привычку всегда использовать одно и то же событие.)
Есть шанс, что то, что вы хотите, чтобы каждый раз происходило, попадет на главную страницу ], особенно если это связано с макетом. Мастер-страницы кажутся симпатичными, но хорошо зарекомендовали себя. Если вы используете событие page_load главной страницы для общих функций, вам не нужно вызывать его из page_load каждой страницы содержимого; он срабатывает каждый раз после события page_load вызываемой страницы . (Я упоминаю об этом, потому что сначала легко спутать главные и базовые страницы.)
Вы можете использовать PageAdapters для вставки кода в каждый запрос страницы aspx путем перехвата любого метода ASP. Жизненный цикл чистой страницы.
Эта статья может помочь вам понять его работу: http://dotnet.org.za/hiltong/archive/2008/01/06/injecting-a-page-base-class- in-asp-net.aspx
С уважением.
Вы можете создать общий базовый класс для своих страниц, унаследованный от System.Web.UI. Page и добавьте туда код в обработчике OnLoad.
Вы можете использовать событие BeginRequest в файле Global.asax
.
http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx
Вы также можете создать и зарегистрировать HTTP-модуль . Преимущество этого в том, что они зарегистрированы в web.config, поэтому вы можете добавлять и удалять их во время выполнения, если хотите ... и иметь более одного.