Даст ли мне .NET MVC нужное мне разделение HTML / CSS / JS? - PullRequest
6 голосов
/ 11 сентября 2008

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

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

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

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

Ответы [ 4 ]

5 голосов
/ 11 сентября 2008

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

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

3 голосов
/ 11 сентября 2008

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

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

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

Рендеринг страниц выполняется механизмом просмотра. Вы можете использовать стандартный движок вида или существующие, такие как 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

1 голос
/ 11 сентября 2008

@ Wrestlevania сказал:

любые рекомендации по кодированию .NET практики, библиотеки и т. д., которые могут было бы очень полезно.

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

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

0 голосов
/ 12 сентября 2008

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

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

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

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