ASP.NET Веб-формы и ASP.NET Веб-страницы

#.net #asp.net #webforms

#.net #asp.net #веб-формы

Вопрос:

В чем разница между ASP.NET Веб-формы и ASP.NET Веб-страницы?

Здесь говорится, что веб-страницы и веб-формы — это разные подходы.

Ответ №1:

Существует три разновидности ASP.NET Полный и есть также ASP.NET Ядро (новое, которое работает на Linux и Mac).

Для ASP.NET Полный

Первая из них является самой старой и называется Web Forms. По сути, это высокоуровневый компонентно-ориентированный веб-фреймворк, который работает с элементами управления, такими как кнопки и сетки, которые инкапсулируют поведение и представление.

Это была самая популярная разновидность ASP.NET, но его критиковали за отсутствие контроля над сгенерированной разметкой. В настоящее время большинство новых проектов являются ASP.NET MVC, но там определенно много кода веб-форм. Хотя это мой личный фаворит, я должен отметить, что это плохой способ начать изучать веб-программирование, потому что он скрывает от вас детали реализации (что хорошо, когда у вас есть опыт) и немного сложен в освоении.

Источник: http://www.asp.net/web-forms

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

Я не согласен с этим пунктом и думаю, что с помощью шаблонов, подобных MVP, можно добиться того же с веб-формами. С другой стороны, ASP.NET У MVC есть одно большое преимущество — он позволяет полностью контролировать сгенерированную разметку. Это очень важно для современного стиля веб-разработки, где многие вещи управляются с помощью JavaScript. Например, добавление необычной анимации проще выполнить поверх представления MVC, чем поверх веб-формы.

Источник: http://www.asp.net/mvc

ASP.NET Web Pages — это (в настоящее время) новейшая версия, предназначенная для небольших проектов и начинающих разработчиков (по крайней мере, на мой взгляд). Это хорошо для разработки небольших проектов с ~ 10 страницами. Большая часть логики написана в одном файле на страницу в том, что я называю «Базовым стилем PHP». Он использует синтаксис Razor для внедрения серверного кода.

Источник: http://www.asp.net/web-pages

Обратите внимание, что веб-формы используют страницы (в отличие от MVC), и поэтому возникает путаница, что ASP.NET Веб-страницы — это.

Для ASP.NET Ядро, новая версия ASP.NET Используется MVC, который концептуально такой же, как ASP.NET MVC, описанный выше. Интересно, что по состоянию на ASP.NET В ядре 2.0 также есть нечто, называемое Razor Pages, которое по сути является более продвинутой версией ASP.NET Веб-страницы.

Комментарии:

1. Стилгер, страницы показывают разницу, но нужны ли нам также разные IDE; например, WebMatrix для веб-страниц?

2. @stilgar Я не думаю, что есть какая-либо разница. На странице asp.net/web-forms если вы нажмете «Введение в ASP.NET Веб-формы» в разделе 2 это приведет вас к msdn.microsoft.com/en-us/library/ms178125.aspx речь идет о веб-страницах.

3. Да, веб-матрица — это то, что нужно для веб-страниц. Я не очень много знаю о веб-страницах (или веб-матрице), и меня это не особо волнует. Для меня это игрушка для любителей, своего рода способ Microsoft создавать. NET easy для новичков, которые хотят начать с Интернета. Прямо сейчас PHP (на мой взгляд, отвратительный язык) так легко запустить, и люди склонны придерживаться того, что они использовали в первую очередь, и вкладывать в это больше средств. Вот почему MS создала веб-страницы, чтобы помочь людям начать работу в Интернете. NET вместо PHP.

4. Веб-страницы — это фреймворк. Я упомянул некоторые различия. Веб-формы используют элементы управления. Web Pages использует синтаксис Razer для внедрения серверного кода (C # / VB.NET) в один файл, представляющий страницу.

5. Являются ли названия Pages, Forms своего рода вводящими в заблуждение? Мне кажется, что страницы предназначены для простых веб-страниц, где as Forms предназначены для ввода данных / опросов такого рода. Похоже, что они оба могут выполнять одни и те же задачи, разница только в разработке. Я правильно понимаю?