пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Особенности и различия структур и жизненный цикл и структура ASP.NET приложений и приложений ASP.NET MVC, роль формы в программных приложениях.

При выполнении страницы ASP.NET осуществляется её жизненный цикл, во время которого исполняется ряд шагов обработки. В частности: инициализация, определение элементов управления, восстановление и поддержание рабочего состояния, выполнение кода обработчика событий, а также отрисовка.

Общие этапы жизненного цикла страницы

Этап

Описание

Запрос страницы

Запрос страницы происходит перед началом жизненного цикла страницы. При запросе страницы пользователем ASP.NET определяет, нужно ли обрабатывать и компилировать страницу (до начала жизненного цикла страницы), или отправить в ответ на запрос кэшированную версию страницы, не запуская ее обработку.

Запуск

На начальном этапе устанавливаются свойства страницы, например Request и Response. На этом этапе страница также определяет, является ли запрос обратной передачей или новым запросом, и устанавливает свойство IsPostBack. Кроме этого, на этом этапе устанавливается свойство страницы UICulture.

Инициализация страницы

Во время инициализации страницы элементы управления страницы являются доступными, устанавливаются все свойства элементов управления UniqueID. На странице также применяются темы. Если текущий запрос является обратным запросом, данные обратного запроса не загружены, а значения свойств элементов управления не восстановлены к значениям в состоянии просмотра.

Загрузка

Во время загрузки, если текущий запрос является обратным запросом, в свойства элементов управления будут переданы данные, восстановленные из состояния просмотра и состояния управления.

Проверка

Во время проверки вызывается метод Validate всех проверяющих элементов управления, который устанавливает свойство IsValid отдельных проверяющих элементов управления и страницы.

Обработка событий обратного запроса

Если запрос является обратным, вызывается любой из обработчиков событий.

Отрисовка

Перед отрисовкой производится сохранение состояния просмотра страницы и всех элементов управления. На этапе отрисовки страница вызывает метод Render для каждого элемента управления, предоставляя модуль записи текста, который записывает полученные данные в OutputStream свойства страницы Response.

 

Формы ASP.NET WebForms

Исходный код HTML для веб-формы (файла .aspx) обычно начинается с тега @Page, который определяет параметры данной страницы. Поэтому в большинстве ситуаций на сайтах ASP.NET предусмотрены страницы с формами HTML, где размещены элементы управления, которые выполняют прием информации от пользователей. В тегах <head>, <form> и др. атрибуту runat присваивается значение server, указывающее на то, что код элемента должен выполняться на стороне сервера, а не на стороне клиента. В ASP.NET слово "форма" (form) употребляется в двух значениях. Во-первых, это слово употребляется для обозначения самой Web-страницы с расширением .aspx (веб-форма). Во-вторых, это слово употребляется для обозначения обычных форм HTML, которые размещаются на страницах HTML и служат контейнерами для элементов управления. В этом разделе речь пойдет именно о формах HTML.

В большинстве ситуаций создавать форму на странице ASP.NET вручную нет необходимости. Обычно она создается автоматически при перетаскивании из ToolBox на веб-страницу любого элемента управления.

Формы ASP.NET MVC

Платформа ASP.NET MVC включает вспомогательные методы, упрощающие отрисовку HTML в представлении:

  • ActionLink — ссылка на метод действия.
  • BeginForm — отмечает начало формы и дает ссылку на метод действия, отрисовывающий форму.
  • CheckBox — отрисовывает флажок.
  • DropDownList — отрисовывает раскрывающийся список.
  • Hidden — встраивает данные в форму, но не отображает их пользователям.
  • ListBox — отрисовывает список.
  • Password — отрисовывает текстовое поле для ввода пароля.
  • RadioButton — отрисовывает переключатель.
  • TextArea — отрисовывает текстовую область (многострочное текстовое поле).
  • TextBox — отрисовывает текстовое поле.

 

32.png

 

 

 

 

 

 

 

 

 

 

Структуры ASP.NET WebForms и ASP.NET MVC приложений

 

 

ASP.NET WebForms

ASP.NET MVC

Сильные стороны

  • Предоставляет отличные возможности для RAD (Rapid Application Development, быстрая разработка приложений);
  • Отличная поддержка «дизайнера» в Visual Studio;
  • Простота разработки бизнес-приложений, работающих с большими объемами данных и завязанных на данных (data-heavy);
  • Огромное количество третьих компаний, предоставляющих готовые библиотеки контролов, а также осуществляющие поддержку проектов на WebForms;
  • Привычная Windows Forms-разработчикам концепция событий (серверные события для UI), что позволяет быстро начать работать с таким подходом.
  • Предлагает полный контроль над генерирумым HTML-кодом;
  • Генерирует чистый HTML-код;
  • Лучшее разделение между UI и кодом (логикой приложения и логикой представления);
  • Проще для unit-тестирования;
  • Поддерживает множество различных движков представления (View Engines);
  • По-умолчанию использует REST-подход для URL'ов — что также хорошо для SEO;
  • Нет ViewState (это также может быть недостатком в определенных случаях);
  • Обычный размер загружаемой страницы — маленький;
  • Простая интеграция с фреймворками типа JQuery.

Слабые стороны

  • Логика UI тесно связана с кодом и таким образом, сложно отделима;
  • Сложно производить unit-тистирование, таким образом сложно использовать подход TDD;
  • Большой (а зачастую просто огромный) размер страниц благодаря ViewState.
  • Не основан на (серверных) событиях, так что может быть сложноватым для освоения теми, кто мыслит в разрезе модели ASP.NET WebForms;
  • Количество библиотек контролов и компонентов сторонних производителей небольшое;
  • Нет ViewState (также является преимуществом).

Возможности

  • Отлично подходит для быстрого создания прототипов бизнес-приложений. Это отлично работает, когда необходимо согласовать с потенциальным клиентом предварительную концепцию
  • Позволяет использовать подход Test Driven Development (TDD) — фреймворк построен по большей части с акцентом на TDD, так что с MVC куда проще писать юнит-тесты, создавать mock-объекты и перехватывать выполнение приложения, контролируя его на всех этапах;
  • Позволяет повторно использовать модель приложения с другими UI-интерфейсами и приложениями.

Угрозы

  • Сложно применять к одному приложения разные UI, даже несмотря на достаточное количество доступных фреймворков и технологий (Master-страницы, темы, и т. д.).
  • Требует больше времени для начала продуктивной работы с ним и больше времени на освоение новичками в веб-разработке.

 

 

 


11.01.2019; 16:54
хиты: 492
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь