Вложение GridView в Repeater

У меня есть сценарий, в котором, например, мне нужно повторить список штатов США и отобразить таблицу городов и населения городов после названия каждого штата. Требование к дизайну диктует, что каждое внешнее повторение должно быть названием штата, за которым следует таблица городов, и это требование не может быть изменено в настоящее время. Есть ли недостатки у вложения GridView в ретранслятор с последующей привязкой каждого повторяющегося GridView во время события ItemDataBound ретранслятора? Какие есть альтернативные решения?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
7 272
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Если бы это был я, я бы перевернул вопрос и спросил, почему Я должен использует GridView. Если вам нужен набор встроенных функций, таких как разбиение по страницам и сортировка, то GridView может подойти. Если вам просто нужны табличные данные, я бы пересмотрел. Почему? Поскольку с GridView вы получаете множество вещей, которые не будете использовать, ваше ViewState будет потенциально огромным, а производительность вашей страницы будет медленнее.

Я не фанат, когда дело касается GridView, но я использую их только тогда, когда для этого есть чертовски веская причина.

Если я откажусь от использования GridView, вы предлагаете мне использовать другой Repeater для создания моего HTML-кода <table> или прокручивать набор данных в коде позади и выводить мои результаты в Literal?

Billy Jo 14.02.2009 21:53

Если код отстает, я бы добавил в вашу таблицу элементы управления (HtmlTableRow, HtmlTableCell) вместо того, чтобы строить строку и выгружать ее в литерал (если это то, что вы имели в виду). Или используйте HtmlTextWriter. Я не люблю делать презентации в коде программной части, поэтому, если бы это был я, я бы использовал Repeater или ListView.

CarmineSantini 21.02.2009 05:59

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

Существуют различные его реализации (используя раскрывающийся список для мастера, использование модальное всплывающее окно для деталей и т. д.), Но главное, что есть доступные реализации.

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

Billy Jo 14.02.2009 21:54

По крайней мере, надеюсь, вы сможете отключить ViewState в GridViews.

Ответ принят как подходящий

Лучшее решение, которое мне удалось придумать, - это вложить GridView в Repeater. Затем я связал каждый повторяющийся GridView во время события ItemDataBound Repeater. Я, конечно, отключил их ViewStates, поскольку они не нужны.

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