Пользователи ASP.NET MVC - вам что-то не хватает с WebForms? - PullRequest
20 голосов
/ 17 апреля 2009

Существует множество статей и дискуссий о различиях между ASP.NET WebForms и ASP.NET MVC, в которых сравниваются относительные достоинства двух платформ.

У меня есть другой вопрос для тех, кто имеет опыт использования веб-форм, которые с тех пор перешли на MVC:

Что такое вещь номер один, что есть у WebForms, чего нет у MVC, которую вы действительно скучаете?

Редактировать

Никто не упомянул элементы управления валидацией WebForms. Сейчас я работаю над кодом, который имеет несколько зависимых правил проверки, и реализация проверки на стороне клиента для них оказывается медленной.

Ответы [ 14 ]

24 голосов
/ 17 апреля 2009

Как человек, работающий на PHP / Classic ASP, я углубился в мир веб-форм около 5 лет назад. После необходимости вручную кодировать такие вещи, как таблицы, календари и т. Д., На языках сценариев, казалось, что веб-формы станут огромным помощником. Это было ... до тех пор, пока вам не понадобится даже немного настройки помимо чередующихся цветов строк и тому подобного. Да, вы можете запустить сетку с несколькими движениями перетаскивания. Но настройка даже того, что кажется простым делом, может превратиться в часы пыток и исследований.

Я также думаю, что многие примеры, приведенные в .NET онлайн, упрощены из-за того, что веб-формы выглядят «легко». Конечно, вы можете получить в этом сеточном представлении только 10 записей из 100 000 таблиц записей, но понимаете ли вы, что ВСЕ записи загружаются в память по умолчанию? В качестве примера чрезмерной сложности решения этой проблемы я провел некоторое время, создавая табличное представление таблицы, которое загружает только куски записей, но это не сработало. После часа исследований я обнаружил, что вам нужно удалить дополнительное свойство, которое IDE вставляет в код. Не весело, когда такие глупые вещи ставят тебя позади.

И на каждом шагу это случается.

Даже не заводи меня на обзорную площадку.

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

По большей части я могу разрабатывать приложения со скоростью PHP-скриптинга и ПОЛНОСТЬЮ иметь полный контроль над пользовательским интерфейсом. Вот о чем это все.

И в качестве дополнительного примечания: люди должны перестать жаловаться на то, что они создают «суп-тег» в представлениях MVC, когда обнаруживают, что им нужно использовать теги <% =%> и тому подобное. Перетащите свой gridview на страницу, установите все свойства, а затем просмотрите дерьмо, которое он вам дает. И вы еще не закончили, теперь вам нужно прикрепить события и добавить больше кода, относящегося к gridview, в ваш кодовый файл. Разговор о том, чтобы испортить опыт кодирования. Я возьму простой цикл foreach в любое время.

17 голосов
/ 17 апреля 2009

ничего:)

Мне действительно нравится, как работает ASP.NET MVC. Я хочу контролировать свой HTML. Мне не нужны элементы управления. Мы можем получить ту же функциональность с помощью HTML-помощников и сторонних инструментов, например, jQuery и все доступные плагины.

Вот пример того, как использовать gridview-like с jQuery grid в ASP.NET MVC.

Хотя Ruby on Rails является более зрелой платформой, я думаю, что ASP.NET MVC находится на правильном пути.

9 голосов
/ 17 апреля 2009

Я скучаю по gridview, простоте встроенной сортировки и разбивки на страницы без особых усилий. Я все время использую функциональность сетки и до сих пор не нашел хорошей альтернативы в mvc

3 голосов
/ 17 августа 2009

Ну, я что-то упускаю:

возможность иметь сетку с разметкой за считанные секунды.

Хотя это было бы не очень справедливо, поскольку мне также пришлось создать класс для подачи в ObjectDataSource, чтобы иметь эффективную нумерацию страниц. Кроме того, разбиение на страницы будет работать только при включенном JavaScript, или мне придется написать код для чтения QueryString (например, & pag = 2 и т. Д.) И т. Д.

На самом деле ... я думаю, что не так уж много скучаю.

2 голосов
/ 17 августа 2009

Viewstate - вещь, по которой я скучаю - пока я не вспомню проблемы, которые она вызывает.

Затем я схожу с ума и ищу другие подходы (более умное связывание модели, ajax и т. Д.), Который обычно оказывается лучше (но медленнее найти и реализовать).

2 голосов
/ 19 апреля 2009

Как бы безумно это не звучало, я скучаю по календарному контролю. Не для средств выбора даты или чего-либо подобного, но для планирования приложений, в которых вы хотите отобразить календарь событий в стиле «полный месяц / взгляд» с выбираемыми или интерактивными ссылками, которые вы вставляете через событие отображения дня.

Если кто-нибудь знает альтернативу MVC, пожалуйста, поделитесь! В этом случае выполнимо, но это своего рода боль.

2 голосов
/ 17 апреля 2009

До сих пор ничего особенного.

Я определенно скучаю по MVC каждый день на работе, когда я смотрю на уродливый код WebForms, я хочу стереть все это, а теперь сделать все прозрачным, чистым и красивым.

Конечно, только время покажет, действительно ли новая девушка лучше вашей старой жены.

2 голосов
/ 17 апреля 2009

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

2 голосов
/ 17 апреля 2009

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

1 голос
/ 27 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...