2010-03-02 3 views
4

У меня есть EntityDataSource с событием OnSelected (запущено после законченного запроса). Обработчик событий имеет события args типа EntityDataSourceSelectedEventArgs e. Запрос выполняется нормально без ошибок, а IEnumerable e.Results содержит 1 объект (я могу запускать непустой цикл foreach), но e.TotalRowCount возвращает -1.EntityDataSource: TotalRowCount возвращает -1. Что это?

Есть ли у кого-нибудь идеи, что это значит и какая информация TotalRowCount действительно выражает? Как определить количество выбранных объектов, если не используя TotalRowCount?

ответ

3

От http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.entitydatasource.selected(VS.100).aspx:

The TotalRowCount property of the EntityDataSourceSelectedEventArgs 
object shows the total number of objects in all pages, regardless of the 
values passed by the data-bound control for paging. 

    TotalRowCount is only retrieved if the data-bound 
control needs it, such as if paging is enabled. 

ли элемент управления с привязкой к данным с помощью подкачки?

+0

Нет, он не использует пейджинг. Хорошо, спасибо, это объясняет, почему TotalRowCount бесполезен без пейджинга. Но как я могу определить количество объектов? – Slauma

+0

Поскольку e.Results является IEnumerable, как насчет e.Results.Count()? – DaveB

+0

e.Results является 'System.Collections.IEnumerable', который, похоже, не имеет метода или свойства' Count() ', в отличие от' System.Collections.Generic.IEnumerable '. – Slauma

Смежные вопросы