Концепция MVC великолепна, но будьте готовы потерять практически всю функциональность всех серверных элементов управления, которые вы использовали в течение стольких лет. Я только около недели смотрел на реализацию MVC, но жизненный цикл страницы и состояние просмотра пропали, поэтому эти элементы управления перестали функционировать должным образом.
Я также был ошеломлен, обнаружив ряд примеров, содержащих много логического кода в разметке. Правильно, операторы if и foreach в файлах aspx - ужасный шаг назад, imho. Я был очень рад оставить позади классический asp, но в текущей реализации шаблона asp.net mvc вы вернулись к коду в своей разметке, необходимости использовать помощников повсюду и отсутствию практически любых используемых серверных элементов управления.
Если вы начинаете новый проект сейчас, я бы порекомендовал придерживаться веб-форм asp.net и использовать встроенный asp.net asp.net, инструментарий и jQuery по мере необходимости. Реализация aspax в asp.net может быть не самой лучшей или самой эффективной реализацией, но если вы не получите миллион уникальных приложений в первый день или ваш сервер не станет столь значительным, снижение производительности не будет таким заметным.
Это, конечно, зависит от размера вашего проекта. Если вы запускаете 5-летнее приложение уровня предприятия, которое ожидает миллионы просмотров страниц, UpdatePanel может и не сократить его, но если вы создаете средний сайт, создаете прототип или просто хотите быстро двигаться, asp.net Ajax прекрасно работает и имеет очень низкую кривую обучения.
И чтобы быть ясным, вся страница абсолютно не возвращается каждый раз, когда делается вызов ajax. / Only / содержимое панели, которую необходимо обновить, передается по сети. Любой http-монитор докажет эту точку зрения. Да, страница / жизненный цикл / выполняется, но, зная, что вы можете создавать довольно эффективные приложения asp.net ajax.