У меня есть сценарий, в котором, например, мне нужно повторить список штатов США и отобразить таблицу городов и городов после названия каждого штата. Требования к дизайну диктуют, что каждое внешнее повторение должно быть названием состояния, за которым следует таблица городов, и это требование не может быть изменено в это время. Есть ли недостатки в вложенности GridView в ретранслятор, а затем привязка каждого повторного GridView во время события Replaceater ItemDataBound
? Какие альтернативные решения?Вложение GridView в ретранслятор
ответ
Лучшим решением, которое я смог придумать, было вложение GridView в ретранслятор. Затем я привязывал каждый повторный GridView во время события ItemDataBound Repeater. Разумеется, я выключил их ViewStates, поскольку они не требовались.
Если бы это было, я бы обратить вопрос и спросить, почему я должен использовать GridView, если вам нужна куча встроенных функций, такие как пейджинг и сортировки, то GridView может быть хорошим выбором. Если вам просто нужны табличные данные, я бы пересмотрел их. Зачем? Поскольку с GridView вы получаете целую кучу вещей, которые не будете использовать, ваш ViewState будет потенциально огромным, и производительность вашей страницы будет медленнее.
Я не фанатик, когда речь заходит о GridView, но я использую их только в том случае, когда есть наводная причина.
Если я отказываюсь от использования GridView, вы предлагаете мне использовать другой ретранслятор для создания моего
Если код позади, я бы добавил к вашей таблице элементы управления (HtmlTableRow, HtmlTableCell) вместо того, чтобы строить строку и вбрасывать ее в литерал (если это то, что вы имели в виду). Или используйте HtmlTextWriter. Мне не нравится делать презентацию в коде, поэтому, если бы это был я, я бы использовал Repeater или ListView. – CarmineSantini 2009-02-21 02:59:29
В приведенном выше сценарии вам будет лучше выполнять стиль GridView с мастер-деталями, который избавит вас от накладных расходов всех создаваемых объектов GridView.
Существуют различные варианты реализации (using a drop down for the master, используя modal popup for the detail и т. Д.), Но главное, что существуют реализации.
источник
2008-09-08 23:05:32
Как минимум, надеюсь, вы можете отключить ViewState на GridViews.
источник
2008-09-09 14:48:32
Смежные вопросы