ASP .NET путаница - управление сервером - PullRequest
3 голосов
/ 13 апреля 2010

Я прочитал информацию в этом вопросе: Управление по сравнению со стандартным HTML , но я все еще в замешательстве.

Ситуация была, когда меня попросили сделать веб-проект, где я сделалмастер.Когда я закончил с проектом, все спросили, почему я использовал <asp:Wizard...>.Я думал, что это было то, о чем просили, но, видимо, нет, поэтому после этого меня убедили, что серверные элементы управления были просто инструментами для создания прототипов.

Однако в следующем проекте я выполнял запросы к БД через код C #позади и загрузил результаты через HTML.Затем меня спросили, почему я не использовал gridview и набор данных.

У кого-нибудь есть список плюсов и минусов, почему они решили использовать определенные HTML-элементы управления для конкретных серверных элементов управления и почему?Я думаю, я ищу список ... какие серверные элементы управления можно использовать и почему?

РЕДАКТИРОВАТЬ: я думаю, что этот вопрос является открытым, поэтому я уточню несколько более конкретных вопросов ...

  1. Можно ли использовать очень простые элементы управления, такие как asp: Label, или они просто теряют пространство?Кажется, что в противном случае было бы трудно получить доступ к html в коде.

  2. Есть ли несколько элементов управления, которые никогда не следует использовать?

  3. Есть ли у кого-нибудь хороший ресурс, который покажет мне плюсы и минусы каждого элемента управления?

Ответы [ 2 ]

3 голосов
/ 13 апреля 2010

Серверные элементы управления зависят от ViewState, ограничивают гибкость

Элементы управления сервером были мощными инструментами, позволяющими познакомить разработчиков WinForms с веб-разработкой. Основное преимущество, которое обеспечивают серверные элементы управления, - это чувство полноты состояния и модель разработки, управляемая событиями. Тем не менее, состояние веб-разработки стало зрелым с момента появления веб-форм и серверных элементов управления, которые в целом сталкиваются с все более критичным представлением .

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

Теперь можно отказаться от ViewState , но к тому времени, вероятно, лучше просто прибегнуть к обычным элементам управления HTML.

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

1 голос
/ 13 апреля 2010
  1. Можно ли использовать очень простые элементы управления, такие как asp: Label, или делать эти просто тратить пространство впустую? Похоже на то как было бы трудно получить доступ HTML в коде позади в противном случае.

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

  1. Есть ли несколько элементов управления, которые никогда не следует использовать?

Не в моем (среднем уровне) опыте. Элемент управления Wizard, если вы знаете, как его использовать, работает как рекламируется (представьте, что вы сами кодируете все функции, а затем выполняете математику). Я использовал его, и в результате появилась гладкая и функциональная многостраничная форма регистрации с промежуточным сохранением данных.

  1. У кого-нибудь есть хороший ресурс, который покажет мне плюсы и минусы каждый элемент управления?

Нет, но я бы порекомендовал использовать правильный контроль для правильной ситуации. Например, изучите различия между Repeater и GridView и выберите лучший вариант для своих нужд.

Конечно, есть альтернативы. Например, MVC набирает обороты. Лично я еще не посвятил себя изучению этого. Что касается интерактивных форм и AJAX, многие разработчики .NET предпочитают использовать JQuery для любой проверки и любого AJAX (UpdatePanels прост в использовании и ужасно неэффективен) с JSON в качестве транспортного механизма на стороне сервера.

...