Быстрое и грязное объяснение файлов MVC3 Ajax / JS, пожалуйста :) - PullRequest
6 голосов
/ 12 июля 2011

Я пытался найти приличную статью или фрагмент, который объясняет разницу между файлами JS (Validate & Ajax), которые Microsoft включает в MVC3, и я не смог ничего найти.

Может ли кто-нибудь любезно объяснить различия и то, как они должны использоваться (например, отодвигается ли одна от другой, используется вместо этого по причине X и т. Д.):

  • jquery.validate, jquery.validate.unobtrusive и MicrosoftMVCValidation
  • jquery.unobtrusive-ajax, MicrosoftAjax & MicrosoftMVCAjax

Чтобы добавить к этому - в основном, почему я должен использовать jquery.validate вместо ненавязчивого или MVCПроверка.Или какова их цель в сочетании с jquery.validate и т. Д. Аналогично для файлов Ajax.

Заранее огромное спасибо:)

1 Ответ

7 голосов
/ 12 июля 2011

Вот мои 2 цента:

  • (jquery.validate и jquery.validate.unobtrusive) против (MicrosoftMVCValidation)

Выберите первое, так как оно не имеет смыслачто HTML5-атрибуты data- * генерируются в полях ввода, а валидаторы незаметно присоединяются к отдельным файлам javascript.С проверкой Microsoft ваша окончательная разметка больше не является разметкой, но это разметка, смешанная с javascript.Это не только увеличивает размер ваших HTML-страниц, но и делает их более уродливыми и невозможными для использования возможностей кэширования в браузере внешних статических ресурсов.

В зависимости от проекта я решаю, использовать ли я непосредственно jQuery.validateподключите или воспользуйтесь автоматически сгенерированными атрибутами data5 * HTML5 и позвольте сценарию jquery.validate.unobtrusive выполнить автоматическую проверку клиентского сценария на основе некоторых правил DataAnnotations в моих моделях представления.Ну, на самом деле я не использую DataAnnotations, а FluentValidation.NET, но это не имеет значения для клиентской стороны, поскольку они оба испускают ModelMetaData.Я должен согласиться с тем, что с ASP.NET MVC 3 Microsoft сделала шаг вперед с этими jquery.validate.unobtrusive сценариями.Но в основном это будет зависеть от проекта, над которым я работаю, и необходимого мне контроля.

  • (jquery.unobtrusive-ajax) против (MicrosoftAjax & MicrosoftMVCAjax)

Ничего из вышеперечисленного :-) Я бы порекомендовал вам использовать чистый jQuery, но если вам пришлось выбирать между jquery.unobtrusive-ajax и MicrosoftAjax, выбирайте первый по тем же причинам, что и предыдущий.Теперь я, наверное, должен объяснить, почему мне тоже не нравится.Я уже указал на полную хитрость всех скриптов Microsoft *, поэтому давайте не будем повторять это снова.Даже сами Microsoft осознали свою ошибку и, начиная с ASP.NET MVC 3, jQuery становится библиотекой по умолчанию, и их скрипты включены только для совместимости со старыми приложениями, которые вы можете конвертировать, но я предполагаю, что в будущих версиях они полностью исчезнут.Вопрос в том, почему чистый jQuery по сравнению с jQuery.unobtrusive-ajax?Ну, с первым я гораздо больше контролирую события запросов AJAX.Например, при использовании jquery.unobtrusive-ajax, когда объекты JSON возвращаются в обратном вызове OnSuccess, они не анализируются автоматически в объектах javascript, вам придется выполнять синтаксический анализ вручную, а это просто сводит меня с ума.

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