Что такое веб-формы

ASP.NET Web Forms входит в состав платформы веб-приложений ASP.NET и входит в состав Visual Studio. Это одна из четырех моделей программирования, которые можно использовать для создания ASP.NET веб-приложений, а также ASP.NET MVC, веб-страницы ASP.NET и ASP.NET одностраничных приложений.

веб-формы — это страницы, которые пользователи запрашивают с помощью браузера. Эти страницы могут быть написаны с помощью сочетания HTML, клиентского скрипта, серверных элементов управления и серверного кода. Когда пользователи запрашивают страницу, она компилируется и выполняется на сервере платформой, а затем платформа создает HTML-разметку, которую может отобразить браузер. На странице ASP.NET Web Forms представлены сведения для пользователя в любом браузере или на клиентском устройстве.

С помощью Visual Studio можно создавать ASP.NET Web Forms. Интегрированная среда разработки (IDE) Visual Studio позволяет перетаскивать серверные элементы управления для размещения страницы веб-формы. Затем можно легко задать свойства, методы и события для элементов управления на странице или для самой страницы. Эти свойства, методы и события используются для определения поведения, внешнего вида веб-страницы и т. д. Чтобы написать серверный код для обработки логики страницы, можно использовать язык .NET, например Visual Basic или C#.

Примечание

ASP.NET и документация по Visual Studio охватывает несколько версий. Разделы, в которые выделены функции из предыдущих версий, могут быть полезны для текущих задач и сценариев, использующих последние версии.

ASP.NET Web Forms:

  • На основе технологии Microsoft ASP.NET, в которой код, выполняющийся на сервере, динамически создает выходные данные веб-страницы в браузере или на клиентском устройстве.
  • Совместим с любым браузером или мобильным устройством. Веб-страница ASP.NET автоматически отрисовывает соответствующий браузеру HTML-код для таких функций, как стили, макет и т. д.
  • Совместимость с любым языком, поддерживаемым средой CLR .NET, например Microsoft Visual Basic и Microsoft Visual C#.
  • Создано на основе microsoft платформа .NET Framework. Это обеспечивает все преимущества платформы, включая управляемую среду, безопасность типов и наследование.
  • Гибкость, так как вы можете добавлять в них созданные пользователем и сторонние элементы управления.

ASP.NET Web Forms предложение:

  • Отделение HTML и другого кода пользовательского интерфейса от логики приложения.
  • Широкий набор серверных элементов управления для общих задач, включая доступ к данным.
  • Мощная привязка данных с отличной поддержкой инструментов.
  • Поддержка клиентских сценариев, выполняемых в браузере.
  • Поддержка различных других возможностей, включая маршрутизацию, безопасность, производительность, интернационализацию, тестирование, отладку, обработку ошибок и управление состоянием.

ASP.NET Web Forms помогает преодолевать трудности

Программирование веб-приложений представляет собой проблемы, которые обычно не возникают при программировании традиционных клиентских приложений. К числу проблем относятся:

  • Реализация полнофункционированного пользовательского веб-интерфейса . Проектирование и реализация пользовательского интерфейса с помощью базовых средств HTML может быть сложной и мучительной, особенно если страница имеет сложный макет, большой объем динамического содержимого и полнофункциональный интерактивный объект.
  • Разделение клиента и сервера . В веб-приложении клиент (браузер) и сервер — это разные программы, которые часто выполняются на разных компьютерах (и даже в разных операционных системах). Следовательно, две половины приложения имеют очень мало информации; они могут обмениваться данными, но обычно обмениваются лишь небольшими фрагментами простой информации.
  • Выполнение без отслеживания состояния . Когда веб-сервер получает запрос на страницу, он находит страницу, обрабатывает ее, отправляет в браузер, а затем удаляет все сведения о странице. Если пользователь снова запрашивает ту же страницу, сервер повторяет всю последовательность, повторно обработав страницу с нуля. Другими словами, сервер не имеет памяти для обработанных страниц — страницы не имеют состояния. Таким образом, если приложению требуется хранить сведения о странице, его характер без отслеживания состояния может стать проблемой.
  • Неизвестные возможности клиента . Во многих случаях веб-приложения доступны для многих пользователей с помощью разных браузеров. Браузеры имеют различные возможности, что затрудняет создание приложения, которое будет одинаково хорошо работать на всех из них.
  • Сложности с доступом к данным . Чтение и запись в источник данных в традиционных веб-приложениях могут быть сложными и ресурсоемкими.
  • Сложности с масштабируемостью . Во многих случаях веб-приложения, разработанные с использованием существующих методов, не могут достичь целей масштабируемости из-за отсутствия совместимости между различными компонентами приложения. Это часто является распространенной точкой отказа для приложений с интенсивным циклом роста.

Решение этих проблем для веб-приложений может потребовать значительных усилий и времени. ASP.NET Web Forms и платформы ASP.NET решают эти проблемы следующими способами:

  • Интуитивно понятная, согласованная объектная модель . Платформа ASP.NET страниц представляет объектную модель, которая позволяет рассматривать формы как единое целое, а не как отдельные клиентские и серверные части. В этой модели можно программировать страницу более интуитивно, чем в традиционных веб-приложениях, включая возможность задавать свойства для элементов страницы и реагировать на события. Кроме того, ASP.NET серверные элементы управления являются абстракцией от физического содержимого HTML-страницы и от прямого взаимодействия между браузером и сервером. Как правило, серверные элементы управления можно использовать так, как можно работать с элементами управления в клиентском приложении, и не нужно думать о создании HTML-кода для представления и обработки элементов управления и их содержимого.
  • Модель программирования на основе событий. ASP.NET Web Forms перенести в веб-приложения знакомую модель написания обработчиков событий для событий, происходящих на клиенте или сервере. Платформа ASP.NET страниц абстрагирует эту модель таким образом, что базовый механизм записи события на клиенте, его передачи на сервер и вызова соответствующего метода является автоматическим и невидимым для вас. Результатом является четкая, легко написанная структура кода, которая поддерживает разработку на основе событий.
  • Интуитивно понятное управление состоянием . Платформа ASP.NET страницы автоматически обрабатывает задачу поддержания состояния страницы и ее элементов управления, а также предоставляет явные способы поддержания состояния сведений, относящихся к приложению. Это достигается без интенсивного использования ресурсов сервера и может быть реализовано с помощью или без отправки файлов cookie в браузер.
  • Независимые от браузера приложения . Платформа страниц ASP.NET позволяет создавать всю логику приложений на сервере, устраняя необходимость явного написания кода для различий в браузерах. Тем не менее, он по-прежнему позволяет воспользоваться функциями браузера, написав клиентский код, чтобы повысить производительность и улучшить взаимодействие с клиентом.
  • платформа .NET Framework поддержка среды CLR. Платформа страниц ASP.NET основана на платформа .NET Framework, поэтому вся платформа доступна для любого приложения ASP.NET. Приложения могут быть написаны на любом языке, совместимом со средой выполнения. Кроме того, доступ к данным упрощается с помощью инфраструктуры доступа к данным, предоставляемой платформа .NET Framework, включая ADO.NET.
  • платформа .NET Framework масштабируемой производительности сервера. Платформа ASP.NET страниц позволяет масштабировать веб-приложение с одного компьютера с одним процессором на веб-ферму с несколькими компьютерами без сложных изменений в логике приложения.

Возможности ASP.NET Web Forms

  • Серверные элементы управления. ASP.NET серверные веб-элементы управления — это объекты на ASP.NET веб-страницах, которые выполняются при запросе страницы и отображают разметку в браузере. Многие серверные веб-элементы управления похожи на привычные элементы HTML, такие как кнопки и текстовые поля. Другие элементы управления включают сложное поведение, например элементы управления календарем, и элементы управления, которые можно использовать для подключения к источникам данных и отображения данных.
  • Главные страницы— ASP.NET master страницы позволяют создать согласованный макет для страниц в приложении. Одна главная страница определяет внешний вид и стандартное поведение всех страниц (или группы страниц) приложения. Далее можно приступить к созданию отдельных страниц контента с содержимым, которое вы хотите отобразить. Когда пользователи запрашивают страницы содержимого, они объединяются со страницей master для получения выходных данных, объединяющих макет страницы master с содержимым страницы содержимого.
  • Работа с data-ASP.NET предоставляет множество возможностей для хранения, получения и отображения данных. В приложении ASP.NET Web Forms используются элементы управления с привязкой к данным для автоматизации представления или ввода данных в элементах пользовательского интерфейса веб-страницы, таких как таблицы, текстовые поля и раскрывающийся список.
  • Членство— ASP.NET Удостоверение хранит учетные данные пользователей в базе данных, созданной приложением. Когда пользователи входят в систему, приложение проверяет свои учетные данные, считывая базу данных. Папка "Учетная запись " проекта содержит файлы, которые реализуют различные части членства: регистрацию, вход в систему, изменение пароля и авторизацию доступа. Кроме того, ASP.NET Web Forms поддерживает OAuth и OpenID. Эти улучшения проверки подлинности позволяют пользователям входить на ваш сайт с помощью существующих учетных данных из таких учетных записей, как Facebook, Twitter, Windows Live и Google. По умолчанию шаблон создает базу данных членства, используя имя базы данных по умолчанию на экземпляре SQL Server Express LocalDB, сервере базы данных разработки, который поставляется с Visual Studio Express 2013 для Интернета.
  • Клиентский скрипт и клиентские платформы. Вы можете улучшить серверные функции ASP.NET, включив функции клиентских сценариев на ASP.NET страниц веб-форм. Клиентский скрипт можно использовать для предоставления пользователям более полного и гибкого пользовательского интерфейса. Вы также можете использовать клиентский скрипт для асинхронных вызовов веб-сервера во время работы страницы в браузере.
  • Маршрутизация. Маршрутизация URL-адресов позволяет настроить приложение для приема URL-адресов запросов, которые не соответствуют физическим файлам. URL-адрес запроса — это просто URL-адрес, который пользователь вводит в браузере для поиска страницы на веб-сайте. Маршрутизация используется для определения семантически значимых ДЛЯ пользователей URL-адресов, которые могут помочь в оптимизации поисковой системы (SEO).
  • Управление состоянием— ASP.NET Web Forms включает несколько вариантов, которые помогают сохранять данные как на странице, так и на уровне приложения.
  • Безопасность. Важной частью разработки более безопасного приложения является понимание угроз для него. Корпорация Майкрософт разработала способ классификации угроз: спуфинга, незаконного изменения, отказа, раскрытия информации, отказа в обслуживании, повышения привилегий (STRIDE). В ASP.NET Web Forms можно добавить точки расширяемости и параметры конфигурации, позволяющие настраивать различные варианты поведения безопасности в ASP.NET Web Forms.
  • Производительность. Производительность может быть ключевым фактором в успешном выполнении веб-сайта или проекта. ASP.NET Web Forms позволяет изменять производительность, связанную с обработкой управления страницами и сервером, управлением состоянием, доступом к данным, конфигурацией и загрузкой приложений, а также эффективными методиками написания кода.
  • Интернационализация— ASP.NET Web Forms позволяет создавать веб-страницы, которые могут получать содержимое и другие данные на основе предпочитаемого языка для браузера или на основе явно выбранного пользователем языка. Содержимое и другие данные называются ресурсами, и такие данные могут храниться в файлах ресурсов или других источниках. На странице ASP.NET Web Forms вы настраиваете элементы управления для получения значений их свойств из ресурсов. Во время выполнения выражения ресурсов заменяются ресурсами из соответствующего локализованного файла ресурсов.
  • Отладка и обработка ошибок— ASP.NET включает функции, помогающие диагностировать проблемы, которые могут возникнуть в приложении веб-формы. Отладка и обработка ошибок хорошо поддерживаются в ASP.NET Web Forms, что позволяет эффективно компилировать и запускать приложения.
  • Развертывание и размещение. Visual Studio, ASP.NET, Azure и IIS предоставляют средства, которые помогут вам в процессе развертывания и размещения приложения веб-формы.

Выбор времени создания приложения веб-формы

Необходимо тщательно продумать, следует ли реализовать веб-приложение с помощью модели ASP.NET Web Forms или другой модели, например платформы MVC ASP.NET. Платформа MVC не заменяет собой модель веб-форм. Обе модели можно использовать для веб-приложений. Прежде чем вы решите использовать модель веб-формы или платформу MVC для определенного веб-сайта, взвесите преимущества каждого подхода.

Преимущества веб-приложения на основе веб-форм

Платформа на основе веб-форм имеет следующие преимущества.

  • Она поддерживает модель событий, которая сохраняет состояние при передаче через HTTP, что облегчает разработку бизнес веб-приложений. Приложение на основе веб-форм предоставляет множество событий, поддерживаемых различными серверными элементами управления.
  • Она использует шаблон контроллера страницы, добавляющий функции к отдельным страницам. Дополнительные сведения см. в разделе Page Controller.
  • Он использует состояние просмотра или серверные формы, что упрощает управление сведениями о состоянии.
  • Она подходит для небольших коллективов веб-разработчиков, которым необходимо использовать большое количество компонентов для быстрого развертывания приложений.
  • Как правило, это менее сложно для разработки приложений, так как компоненты (класс Page , элементы управления и т. д.) тесно интегрированы и обычно требуют меньше кода, чем модель MVC.

Преимущества веб-приложения на основе MVC

Платформа ASP.NET MVC имеет следующие преимущества.

  • Она облегчает управление сложными структурами путем разделения приложения на модель, представление и контроллер.
  • Она не использует состояние просмотра и серверные формы. Это делает платформу MVC идеальной для разработчиков, которым необходим полный контроль над поведением приложения.
  • Она использует схему основного контроллера, при которой запросы веб-приложения обрабатываются через один контроллер. Это позволяет создавать приложения, поддерживающие расширенную инфраструктуру маршрутизации. Дополнительные сведения см. в разделе Передний контроллер.
  • Она обеспечивает расширенную поддержку разработки на основе тестирования.
  • Он хорошо подходит для веб-приложений, которые поддерживаются большими командами разработчиков и веб-дизайнеров, которым требуется высокий контроль над поведением приложения.