ASP.NET пользователи MVC - Вы пропускаете что-нибудь от WebForms?

Для внешнего интерфейса

В своем внешнем интерфейсе вы можете получить доступ к CSRF для глобального объекта, вставленного Sails - window.SAILS_LOCALS._csrf.

Для тестирования

В вашем config/routes.js вы должны будете добавить это:

'GET /.temporary/csrf/token/for/tests': { action: 'security/grant-csrf-token' },

Не позволяйте этому идти в производство, хотя. Для этого рекомендуется использовать этот маршрут только во время автоматических тестов. Вот некоторая информация о тестировании в Sails.js - https://sailsjs.com/documentation/concepts/testing - Вот мои lifecycle.test.js - https://gist.github.com / Noitidart / 63df651dc76812da6cb3bfe1ce4e9e0e - Видите ли, я выставляю этот маршрут только для своих тестов, поэтому моя продукция не получает этого. Не рекомендуется тестировать ваши конечные точки с помощью Postman, потому что эти тесты эфемерны, ваша работа по тестированию теперь закончена после того, как вы закончите. Но если вы напишите модульные / целочисленные тесты, это рабочее тестирование останется навсегда.

20
задан 3 revs 16 September 2009 в 15:53
поделиться

13 ответов

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

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

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

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

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

По большей части, я ' Я могу разрабатывать приложения со скоростью PHP сценариев и, наконец, иметь полный контроль над пользовательским интерфейсом. Вот о чем все.

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

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

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

24
ответ дан 29 November 2019 в 22:47
поделиться

Ничего особенного.

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

Я люблю контролировать выход и предпочитаю чистый, легкий стиль.

0
ответ дан 29 November 2019 в 22:47
поделиться

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

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

2
ответ дан 29 November 2019 в 22:47
поделиться

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

2
ответ дан 29 November 2019 в 22:47
поделиться

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

2
ответ дан 29 November 2019 в 22:47
поделиться

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

9
ответ дан 29 November 2019 в 22:47
поделиться

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

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

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

2
ответ дан 29 November 2019 в 22:47
поделиться

ничего:)

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

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

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

17
ответ дан 29 November 2019 в 22:47
поделиться

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

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

2
ответ дан 29 November 2019 в 22:47
поделиться

Что ж, я кое-что упустил:

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

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

На самом деле ... Я думаю, что нет слишком много промахнулся.

3
ответ дан 29 November 2019 в 22:47
поделиться

В ASP.NET MVC выходное кэширование на самом деле не реализовано (по состоянию на 2 версию). Есть трюки, чтобы заставить его работать, например, с помощью Web Controls с директивой OutputCache, или с помощью WriteSubstitution, но все эти трюки в каком-то смысле идут вразрез с природой MVC. Выходное кэширование для чего-либо, кроме целых методов действия, является действительно хитрым для работы в ASP.NET MVC, и всегда вызывает огромный технический долг. Поскольку кэширование вывода, особенно в новых версиях IIS, невероятно эффективно по сравнению с кэшированием на уровне данных, это позор.

.
0
ответ дан 29 November 2019 в 22:47
поделиться

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

1
ответ дан 29 November 2019 в 22:47
поделиться

простота в перетаскивании элементов управления. может увидеть что-то из этого в ближайшем будущем, возможно, в mvc4

{{1} }
0
ответ дан 29 November 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: