Что обрабатывается первым: код aspx или aspx.vb? - PullRequest
1 голос
/ 26 августа 2009

Интересно, что обрабатывается первым: если код помещен в часть aspx (с использованием тегов сервера <%%>) или код позади, потому что я помещаю переменную, которая заполнена в Page_Load, в aspx между тегами сервера и Я ничего не получаю, когда есть значение.

Кто-нибудь может указать мне в некоторых направлениях, например, в статье, рассказывающей о жизненном цикле страницы, который включает код aspx?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 26 августа 2009
1 голос
/ 26 августа 2009

Когда HttpHandler вызывает метод ProcessRequest (), он начинается с создания автоматически сгенерированного класса из файла .aspx. Этот автоматически сгенерированный класс создаст иерархию управления страницей для страницы .aspx, которая просто конвертирует декларативный синтаксис в реальный код на C # или VB. Этот автоматически сгенерированный класс затем объединяется с частичным кодом позади класса. Теперь этот завершенный класс будет служить базовым классом для страницы .aspx. Этот класс хранится в \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files. И этот класс будет обрабатывать все запросы на странице. Поэтому, если у вас есть какая-либо переменная Protected / public, объявленная внутри частичного кода за классом, и вы заполняете эту переменную некоторым значением в Page_load, и если вы хотите печатать на странице .aspx, используя <% = variablename%>, она должна вывести значение назначается в Page_Load на веб-странице.

1 голос
/ 26 августа 2009

Как говорит другой автор, есть документированный жизненный цикл.

Кроме этого, codebehind представляет базовый класс, aspx - производный класс. Разметка в ASPX фактически скомпилирована в собственный код, поэтому истинный ответ заключается в том, что страница и кодовая часть по сути являются одним экземпляром, поскольку скомпилированный ASPX наследует код, производный от страницы, в кодовой области.

-Oisin

...