Что такое "жизненный цикл страницы" страницы ASP.NET MVC, по сравнению с ASP.NET WebForms?
Я пытаюсь лучше понять этот "простой" вопрос, чтобы определить, могут ли существующие страницы, которые у меня есть на (очень) простом сайте, легко конвертироваться из ASP.NET WebForms.
Либо "преобразование" процесса ниже, либо альтернативный жизненный цикл будет тем, что я ищу.
То, что я сейчас делаю:
(да, я знаю, что любой, кто может ответить на мой вопрос, уже знает все это - я просто пытаюсь получить сравнение "жизненного цикла", поэтому я подумал, что начну с заполнения того, что мы уже все знаем)
Отображение страницы:
- У меня есть главная страница, содержащая мой основной шаблон
- У меня есть страницы содержимого, которые дают мне названные области с главной страницы, на которую я помещал контент.
- В обработчике событий для каждой страницы контента я загружаю данные из базы данных (в основном для чтения).
- Я привязываю эти данные к элементам управления ASP.NET, представляющим сетки, выпадающие меню или повторители. Эти данные все "живут" внутри генерируемого HTML. Некоторые из них попадают в ViewState (но я не буду вдаваться в это слишком много!)
- Я устанавливаю свойства или привязываю данные к определенным элементам, таким как элементы управления Image или TextBox на странице.
- Страница отправляется клиенту, который отображается как непереработанный HTML.
- Я стараюсь избегать использования ViewState, кроме того, что требуется как минимум для страницы.
Клиентская сторона (не использующая ASP.NET AJAX):
- Я могу использовать JQuery и некоторые неприятные трюки, чтобы находить элементы управления на странице и выполнять операции над ними.
- Если пользователь выбирает из выпадающего списка - генерируется обратная передача, которая запускает событие С# в моем кодебе. Это событие может перейти в базу данных, но независимо от того, что делает полностью созданная HTML-страница, она будет отправлена обратно клиенту.
- Я могу использовать Page.Session для хранения пар значений ключа, которые мне нужно повторно использовать позже
Итак, с MVC, как изменяется этот "жизненный цикл"?