Есть ли совместимая альтернатива asp:ListView?

Существует ли совместимая с функциями альтернатива элементу управления asp:ListView, поставляемому с ASP.NET 3.5? Из-за некоторых недавних проблем с установкой SP1 у определенного хостинг-провайдера, я ищу для временной замены для ListView, которую можно поставить на место с минимальными изменениями в остальной части моего кода.

Одной из простых альтернатив было бы использование повторителя. Есть ли какие-либо серьезные проблемы при переходе с ListView на Repeater, о которых мне нужно знать?


person Jeromy Irvine    schedule 14.05.2009    source источник


Ответы (3)


Вы потеряете 2 вещи:

  1. Шаблоны ListView предоставляют. Вам придется использовать макет HeaderTemplate, ItemTemplate, FooterTemplate повторителя, что довольно уродливо.
  2. Повторители, однажды привязанные, забывают данные, которые были привязаны к ним. Если вы используете DataKeyNames списка, это довольно большой. Разбор элементов ретранслятора менее чем забавен.

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

Подробнее читайте здесь: http://www.singingeels.com/Articles/The_ListView_Dominates_The_Repeater.aspx< /а>

person Mike Robinson    schedule 14.05.2009
comment
Лично я бы предложил DataList, а не Repeater, но это только мое личное предпочтение (некоторые недоброжелатели будут освистывать тот факт, что DataList упаковывает все в таблицу). - person TheTXI; 15.05.2009
comment
Да, причина, по которой я не использую DataList в первую очередь, заключается в том, чтобы избежать проблем, которые стол принесет на вечеринку. - person Jeromy Irvine; 15.05.2009
comment
На самом деле, вы изучали использование адаптеров управления CSS? asp.net/cssadapters Они предоставляют нетабличные версии многих составных элементов управления, включая DataList: asp.net/CSSAdapters/DataList.aspx — хотя в этом примере по-прежнему используются таблицы, полный исходный код доступен, поэтому вы можете легко удалить их, если они вам не нужны. - person Zhaph - Ben Duguid; 15.05.2009
comment
@Ben - отличная ссылка. Вероятно, я бы так и поступил, если бы ListView не был доступен, поэтому в то время это не было проблемой. - person Jeromy Irvine; 15.05.2009

Вы можете использовать управление повторителем, чтобы не было так много ошибок

person Jalpesh Vadgama    schedule 14.05.2009

Хозяин ответил на второй странице около 30 минут назад:

Мы приносим свои извинения за доставленные неудобства. Мы считаем, что это результат недавнего обновления до ASP .NET 3.5 SP1. Корпорация Майкрософт обсудила эту проблему и решение. Вы можете найти эту информацию здесь — https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=344296&SiteID=212&wa=wsignin1.0

person Zhaph - Ben Duguid    schedule 14.05.2009
comment
Я полагаю, это хорошее начало, но, к сожалению, они полностью упустили суть и связались с несвязанной проблемой. Надеюсь, они понимают это правильно. С другой стороны, я думаю, это означает, что они действительно прочитали мое письмо в службу поддержки, поскольку я включил в него ссылку на эту тему. - person Jeromy Irvine; 15.05.2009
comment
Я полагаю, что тогда я благодарен, что мой хост не спешит устанавливать SP1, хотя я действительно этого хочу (я хочу использовать некоторые аспекты EntityFramework, которые, кажется, требуют этого), так что это игра для меня. . - person Zhaph - Ben Duguid; 15.05.2009