Обеспечит ли .NET MVC необходимое разделение HTML / CSS / JS?

Я работаю со своей командой разработчиков ASP.NET, чтобы попытаться создать «лучший» HTML-код (т.е. чище) при рендеринге страниц. На данный момент .NET имеет неприятную тенденцию делать такие вещи, как выгрузка JavaScript на страницу, что делает его обязательным требованием для элементов управления формами и не позволяет формам работать, когда JS недоступен. В некоторых случаях мы изо всех сил пытаемся преодолеть это, не добавляя заметный кусок к оценкам времени разработки.

Раньше я работал с MVC - через Struts в Java - и обнаружил, что в этом случае я смог сохранить HTML-страницы именно такими, какими я хотел их видеть. (Эта точка зрения основана на статическом HTML "в лучшем случае", который я обычно разрабатывал заранее, а затем передал Java-программистам для заполнения пробелов.)

Это сработало очень хорошо, и мы смогли создать одни из «лучших» веб-страниц из CMS, которые я видел. Может ли .NET MVC дать мне необходимое разделение, или было бы ложной экономией откладывать драгоценное время на разработку, чтобы проверить это?

Если .NET MVC не предоставит мне такого детального контроля над разделением, любые рекомендации по методам программирования .NET, библиотекам и т. д. Могут быть действительно полезны.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
7
0
767
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

В зависимости от движка просмотра, который вы собираетесь использовать. да.

Но вы можете легко проверить это, посмотрев на источник страницы на предмет переполнения стека. Это не дзен-сад, но довольно чистый.

Еще несколько уточнений:

Рендеринг страниц выполняется механизмом просмотра. Вы можете использовать стандартный движок просмотра или существующие, такие как nVelocity или Brail, как и в случае с монорельсом. http://www.chadmyers.com/Blog/archive/2007/11/28/testing-scottgu-alternate-view-engines-with-asp.net-mvc-nvelocity.aspx

Поскольку движок представления отвечает за создание HTML, результат зависит от вашего выбора. Но большинство движков просмотра в этом отношении лучше, чем ванильный ASP.Net.

Не могли бы вы уточнить / привести примеры? Я не программист ASP, поэтому не понимаю, что вы имеете в виду. Я пытаюсь найти альтернативы, чтобы представить их своей команде. Заранее спасибо.

markedup 11.09.2008 17:10
Ответ принят как подходящий

ASP.NET MVC Framework даст вам гораздо более знакомое разделение. Поскольку в MVC Framework нет состояния просмотра и т. д., Вам не придется беспокоиться о том, что JavaScript будет сброшен на ваши страницы. Вы увидите только те вызовы JavaScript, которые вы добавляете вручную.

Вы можете по большей части разделять HTML / CSS / JS, как если бы вы делали это в другой структуре.

Есть ли особые предостережения, о которых мне следует знать?

markedup 11.09.2008 18:59

Не совсем - это довольно просто, если вы исходите из точки зрения использования HTML и заполнения дыр фреймворком ASP.NET MVC. Я бы порекомендовал заглянуть на сайт Стивена Вальтера: weblogs.asp.net/StephenWalther, чтобы найти множество руководств и asp.net/mvc.

Ryan Lanciaux 11.09.2008 19:20

@Wrestlevania сказал:

any recommendations for .NET coding practices, libraries, etc. which might would be really helpful.

Я стараюсь поддерживать высокий уровень разделения при кодировании в ASP.Net. Я обнаружил, что если я избегаю элементов управления asp и придерживаюсь как можно большего количества базовых элементов html, я могу избежать любой ситуации, когда ASP.Net будет склонен вводить дополнительный CSS или JS на мою страницу. Например, используйте span вместо asp: literal, button вместо asp: button и т. д.

Единственный элемент управления ASP, который я использую, - это повторитель, который используется для создания таблицы. Любую необходимую мне функциональность, похожую на элемент управления asp, я либо реализую на javascript, либо использую фреймворк, например jquery.

Мы частично работаем над ограничениями такого рода, но я сталкиваюсь с сопротивлением (отдельная проблема!), Чтобы полностью отказаться от элементов управления ASP. В настоящее время я использую jQuery для большей части кода JavaScript, и, помимо изменения некоторых идентификаторов в ASP, он работает хорошо. Спасибо.

markedup 11.09.2008 18:20

Asp.Net MVC поможет вам разделить html / css / js, поскольку в нем будет меньше функций, которые не позволят вам хранить их отдельно.

Например, помощники Html обычно возвращают только это: Html. С этого момента вы можете по своему усмотрению сохранить всю информацию о стиле, связанную только с атрибутами класса.

Подумайте также о методах, которым вы обычно следуете с такой библиотекой, как jQuery. Это отличный пример того, как сохранить функциональность сценария полностью в ваших js и вне вашего html, применяя поведение обработки событий к элементам при загрузке страницы на основе таких вещей, как тип элемента, класс и идентификатор.

Другие вопросы по теме