Средства управления по сравнению со стандартным HTML

Редактирование: как ни странно, после наших комментариев выше, я проверил, действительно ли это версия базового модуля babel, я использую это в своей скрипке:

https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js

Второе, я перехожу к вашей версии выше, я получаю следующее:

Uncaught TypeError: Cannot read property 'keys' of undefined

Используйте React.createClass not ReactDOM.createClass и оберните несколько строк html в круглых скобках, например:

Working Пример: https://jsfiddle.net/69z2wepo/38998/

var Hello = React.createClass({
  render: function() {
    return (     
       

Hello World

This is some text

) } }); ReactDOM.render( , document.getElementById('container') );

11
задан user1270384 11 September 2012 в 00:14
поделиться

11 ответов

Лично,

Я думаю, что стандартные средства управления ASP.NET хорошо для внутреннего материала - быстры, и грязный хорошо в том сценарии. Но, я когда-то работал с веб-разработчиком, который был также разработчиком, и он отказался использовать средства управления ASP.NET и только кодировать в HTML и добавлять runat = теги "сервера" при необходимости. Это было больше, потому что он хотел знать точно, как его HTML был представленным, и в то время, когда так или иначе, некоторые средства управления ASP.NET не представят к соответствию стандартов.

Я сижу где-нибудь в середине - используют HTML в соответствующих случаях и не если не. Можно отсортировать лучше всего обоих миров с Адаптерами управления CSS

13
ответ дан 3 December 2019 в 01:54
поделиться

Я на самом деле вполне освобожден для наблюдения некоторых мнений, здесь согласившись с моим собственным: ASP.NET как шаблонный язык очень плох.

Я был бы точно так же, как для опровержения нескольких про точек, сделанных здесь (flamesuit на!):

Dave Ward упоминает идентификационные коллизии - это верно, но мой как плохо обработанный. Я предпочел бы видеть узлы, на которые ссылается xpath или глубокие селекторы CSS, чем путем создания идентификатора эффективно бесполезным кроме путем подчинения внутренностям ASP.NET как clientID - он просто делает запись CSS и JS это намного тяжелее бессмысленно.

Rob Cooper говорит о том, как средства управления являются заменой для HTML, таким образом, это - весь штраф (перефразирование, простите мне Rob) - хорошо это не прекрасно, потому что они взяли существующий и хорошо понятый язык и сказали "нет, необходимо сделать вещи наш путь теперь", и их путь очень плохо реализован. например, asp:panel представляет таблицу в одном браузере и отделение в другом! Без документации или выполнения, разметка для управления входом в систему (и многие другие) не предсказуема. Как Вы собираетесь заставить разработчика писать CSS против этого?

Espo пишет о том, как средства управления приносят Вам пользу абстракции, если платформа изменяет HTML - хорошо это является явно круговым (Он только изменяется, потому что платформа изменяется и не нуждалась бы к тому, если у меня просто был свой собственный HTML там вместо этого), и на самом деле создает проблему. Если управление собирается измениться с обновлениями снова, как мой CSS, как предполагается, справляется с этим?

Апологеты скажут "да, но можно изменить это в конфигурации" или говорить о переопределении средств управления и пользовательских элементов управления. Хорошо, почему я должен иметь к? CSS дружественный пакет средств управления означал решать некоторые из этих проблем, совсем не с, он - несемантическая разметка, и это не решает идентификационную проблему.

Невозможно реализовать MVC (абстрактное понятие, не 3,5 реализации) из поля с приложениями веб-формы becuase эти средства управления так плотно связывают представление и управление. Существует входная планка для традиционного веб-дизайнера теперь, потому что он должен связаться с серверным кодом для реализации то, что раньше было отдельными доменами CSS и JS. Я сочувствую этим людям.

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

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

Я думаю, что ASP.NET мог узнать о много из связанной технологии в ЛАМПЕ и мире направляющих, до тех пор я надеюсь работать с 3.5 MVC, где я могу.

(извините, который был такой длинный </напыщенная речь>),

13
ответ дан 3 December 2019 в 01:54
поделиться

Короткий ответ - то, что Вы никогда не должны использовать asp:... версия стандартного управления HTML, если у Вас нет действительно серьезного основания.

Младшие разработчики часто обманываются в использование тех средств управления, потому что они охвачены в большинстве книг ASP.NET, таким образом, предполагается, что они должны быть лучше. Они не. На данном этапе после 8 лет ежедневной разработки ASP.NET, я могу только думать о 2 или 3 случаях, где на самом деле имеет смысл использовать asp:... Элемент управления вводом по стандартному HTML один.

4
ответ дан 3 December 2019 в 01:54
поделиться

Что касается идентификатора на управлении сервером: можно найти на самом деле идентификатор, который будет записанным в браузер путем доступа к ClientID. Тем путем Вы можете объединить серверную сторону og клиентские сценарии и все еще не имеете к hardcode _id = "ct100_nav" _

Я всегда пытаюсь использовать включенные средства управления вместо того, чтобы "взломать" HTML, потому что, если будет обновление или некоторое улучшение позже, то весь мой код будет все еще работать, просто заменив платформу, и я не должен изменять HTML.

Надеюсь, это поможет

2
ответ дан 3 December 2019 в 01:54
поделиться

@Brian, Да! Можно в значительной степени управлять всем поведением.. Рассмотрите изучение создания Пользовательских элементов управления (существует три типа). Я недавно дал обзор их в моем вопросе здесь.

Я настоятельно рекомендовал бы проверить их, имеет, помогают мне никакой конец :)

2
ответ дан 3 December 2019 в 01:54
поделиться

Я также нахожусь на своем приключении в ASP.NET и также имел подобные разочарования.. Однако Вы скоро привыкаете к нему. Просто необходимо помнить, причина, у Вас нет утомительной обработки HTML, состоит в том, потому что средства управления ASP.NET делают все это для Вас.

В некоторой степени можно управлять/настраивать этими вещами, даже если это означает наследовать управление и настроить вывод HTML оттуда.

Я должен был сделать это в прошлом, куда определенные средства управления не передавали проверку W3C по умолчанию путем помещения некоторой дополнительной разметки тут и там, таким образом, я просто переопределил и отредактировал по мере необходимости (фиксация что слишком буквально несколько минут)..

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

1
ответ дан 3 December 2019 в 01:54
поделиться

HTML представляет с подобными идентификаторами потому что способ его ASP.NET предотвратить идентификационные коллизии. Каждое контейнерное управление, такое как страница Master или управление Мастером, будет предварительно ожидать "идентификатор _" на его детских идентификаторах.

В случае Вашего маркированного списка ListView обеспечивает хороший второй план. Можно все еще связать его с источником данных, но это дает Вам намного более трудный контроль над представленным HTML. У Scott Gu есть хорошее введение к ListView здесь:

http://weblogs.asp.net/scottgu/archive/2007/08/10/the-asp-listview-control-part-1-building-a-product-listing-page-with-clean-css-ui.aspx

1
ответ дан 3 December 2019 в 01:54
поделиться

Как Dave Ward уже упомянул, "это - способ ASP.NET предотвратить идентификационные коллизии".

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

Как другие упомянули, если необходимо получить доступ к средствам управления для JavaScript, используйте свойство ClientScript, которое предоставит Вам доступ к ClientScriptManager и зарегистрирует Ваши сценарии к странице этот путь. Убедитесь при записи сценариев для использования свойства ClientID на управлении, на которое Вы пытаетесь сослаться вместо того, чтобы просто ввести в идентификаторе управления.

0
ответ дан 3 December 2019 в 01:54
поделиться

Если префикс идентификатора, добавленный ASP.NET, является проблемой для Вас для доступа к ним позже использующий JS или что-то... у Вас есть.ClientID сторона сервера свойства.

Если издержки, добавленные ASP.NET, необходимо считать ASP.NET MVC (все еще предварительный просмотр), где Вы имеете полный контроль над испускаемым HTML.

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

0
ответ дан 3 December 2019 в 01:54
поделиться

Я думаю, что большинство ответов здесь берет точку зрения разработчика. На малом и среднем проекте на издержки могло бы походить синхронизировать код и CSS/HTML и делать их совместимыми стандартами и чистыми. Способ разработчика сделать, который должен иметь полный контроль над представленным HTML. Но существует много способов иметь тот полный контроль в ASP.NET. И для меня, имея необходимый HTML в aspx/ascx файле самый немасштабируемый и грязный способ сделать это. Если Вы хотите разработать средства управления через CSS, можно всегда устанавливать серверную сторону класса через свойство CssClass. Если Вы хотите получить доступ к ним через JS, можно испустить JS с правильной идентификационной серверной стороной снова. Единственный недостаток, который это обеспечивает, - то, что dev и разработчик должны сотрудничать тесно. На любом крупном проекте это неизбежно так или иначе. Но преимущества, которые ASP.NET обеспечивает далеко, превосходят численностью эти трудности. Однако, если Вы хотите совместимый стандартами HTML, очищая поддержку и других положительных героев для управления представленный разметкой, можно всегда использовать thrid-партийные средства управления.

0
ответ дан 3 December 2019 в 01:54
поделиться

Если вам нужен такой большой контроль над визуализируемым HTML, вместо этого изучите ASP.NET MVC .

0
ответ дан 3 December 2019 в 01:54
поделиться
Другие вопросы по тегам:

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