Ретранслятор, ListView, DataList, DataGrid, GridView ... что выбрать?



Так много различных элементов управления на выбор! Каковы рекомендации по определению того, какой элемент управления следует использовать для отображения данных в ASP.NET?

688   5  

5 ответов:

Это действительно о том, что вы пытаетесь достичь

  • Gridview-ограниченный в дизайне, работает как таблица html. Больше встроенных функций, таких как редактирование/обновление, страница, сортировка. Много накладных расходов.

  • DataGrid-старая версия Gridview. Gridview-это супер datagrid.

  • Datalist-более настраиваемая версия Gridview. Также есть некоторые накладные расходы. Больше ручной работы по мере того как вы должны конструировать его себе.

  • ListView-новый Datalist :). Почти гибрид datalist и gridview, где вы можете использовать подкачку и строить в GridView как функциональность, но иметь свободу дизайна. Один из новых элементов управления в этой семье

  • репитер - очень легкий вес. Нет встроенных функций, таких как верхние и нижние колонтитулы. Имеет наименьшие накладные расходы.

все остальные попали в него: это зависит.

теперь для некоторых конкретных указаний (расширяя отличный ответ WebDude выше) ...

вписывается ли ваш дизайн в естественную электронную таблицу или сетку данных? GridView.

нужно ли отображать список или другое форматированное представление данных, возможно, с верхними и нижними колонтитулами и, вероятно, с определенными элементами управления и/или форматированием для каждой записи данных? (Например, индивидуальные ссылки, возможно Кнопки ссылок или конкретные элементы управления редактированием?) Показывает ли это специально не естественно вписывается в электронную таблицу или сетку? ListView

Если вы соответствуете всем критериям ListView, но вы естественно вписываетесь в сетку, вы можете рассмотреть DataList.

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

Посмотреть Разметки

объявление следующего примера кода возможно для всех 3 (ListView, DataList, Repeater)

<asp:ListView runat="server" OnItemCommand="Unnamed1_ItemCommand">
<ItemTemplate> <%# Eval("Name")%>    </ItemTemplate>
<asp:ListView>

В следующих списках вы можете увидеть доступные шаблоны и параметры для каждого из них и увидеть различия для себя

ListView (обратите внимание на редактирование,группа,вставка ,разметка)

  • AlternatingltemTemplate
  • EditltemTemplate
  • EmptyDataTemplate
  • EmptyltemTemplate
  • GroupSeparatorTemplate
  • GroupTemplate
  • lnsertltemTemplate
  • ItemSeparatorTemplate
  • ItemTemplate
  • LayoutTemplate
  • SelectedltemTemplate

DataList (обратите внимание на стиль Вид (расширенный вид)

CompositeDataBoundControl:

посмотрите следующую иерархию классов (и связанные элементы управления).

эти элементы управления хосты другие asp.net элементы управления в своих шаблонах для отображения привязанных данных к пользователю

The CompositeDataBoundControl classes(and related controls)

некоторые описания для лучшего пояснения

Элемент Управления ListView

элемент управления ListView также использует шаблоны для отображения данных. Тем не менее, он поддерживает многие дополнительные шаблоны, которые позволяют использовать дополнительные сценарии при работе с данными. Эти шаблоны включают в себя LayoutTemplate, GroupTemplate, ItemSeparatorTemplate.

элемент управления ListView (в отличие от DataList и Repeater) также неявно поддерживает возможность редактирование, вставка и удаление данных с помощью элемента управления источником данных. Вы можете определить отдельные шаблоны для каждого из этих сценариев.

В Таблицы Контроль

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

В Элемент управления DataList не использует автоматически элемент управления источником данных для редактирования данных. Вместо, это обеспечивает командные события в котором вы можете написать собственный код для этих сценариев. К включите эти события, добавьте элемент управления Button в один из шаблонов и установите кнопки Свойство CommandName для ключевого слова edit, delete, update или cancel. Соответствующий затем событие вызывается элементом управления DataList.

Управление Ретранслятором

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

управление ретранслятора является только для чтения шаблон. То есть, он поддерживает только ItemTemplate. Он не поддерживает неявно редактирование, вставку и удаление. Вы должны рассмотреть один из другие элементы управления, если вам нужна эта функциональность, иначе вам придется этот код для управление ретранслятором.


вышеуказанные описания от MCTS экзамен 70-515 Разработка веб-приложений с Microsoft.NET рамки 4 книги.

DataGrid даже не упоминается в этой книге и заменяется популярными GridViews и хорошо ответил другими пользователями

в самом деле! Я написал в блоге о различиях между ASP.NET 4.0 data tools. В принципе, gridviews-это самый мощный способ представления табличной информации, в то время как элементы управления ListView предназначены для более сложных отображений повторяющихся данных. Если бы я давал советы Ан ASP.NET новичок, я бы сказал им выучить gridviews наизнанку и игнорировать другие элементы управления для начала.

все сводится к тому, как вы хотите разместить свои данные.

Если вам нужно управлять макетом (например, таблицы против CSS против чего угодно), при использовании ретранслятора или ListView. Между ними, ListView дает вам гораздо больше событий и встроенных команд для редактирования, выбора, вставки. Кроме того, функции подкачки и группировки. Репитер очень прост, он повторяет макет с данными. Поскольку вы создаете макет вручную, Listview и Repeater требуют большего код.

GridView-это обновленный DataGrid, поэтому вряд ли есть причина использовать DataGrid. GridView работает очень хорошо при подключении к стандарту ASP.NET источники данных, но ограничивает вас табличным макетом с большим количеством правил макета. GridView требует меньше кода, так как вы используете встроенный макет.

Comments

    Ничего не найдено.