2008-09-08 2 views
2

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

ответ

1

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

2

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

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

+0

Если я отказываюсь от использования GridView, вы предлагаете мне использовать другой ретранслятор для создания моего

HTML или цикла через набор данных в кодебе и выплевывать мой вывод в Literal? – 2009-02-14 18:53:51

+0

Если код позади, я бы добавил к вашей таблице элементы управления (HtmlTableRow, HtmlTableCell) вместо того, чтобы строить строку и вбрасывать ее в литерал (если это то, что вы имели в виду). Или используйте HtmlTextWriter. Мне не нравится делать презентацию в коде, поэтому, если бы это был я, я бы использовал Repeater или ListView. – CarmineSantini 2009-02-21 02:59:29

1

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

Существуют различные варианты реализации (using a drop down for the master, используя modal popup for the detail и т. Д.), Но главное, что существуют реализации.

1

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