MembershipUserCollection to IEnumerable <MembershipUser>для подкачки - PullRequest
1 голос
/ 03 марта 2012

Я работаю в приложении asp.net MVC 3.Я хочу показать список пользователей.Я создал функцию в репозитории, как это:

 internal MembershipUserCollection GetUsers() {
           return Membership.GetAllUsers();
       }

Мне нужен объект IEnumerable, потому что я тоже хочу делать подкачку страниц.Как я могу сделать пейджинг с помощью MembershipUserCollection или преобразовать MembershipUserCollection в IEnumerable

Пожалуйста, предложите

1 Ответ

5 голосов
/ 03 марта 2012

Membership.GetAllUsers() делает то, что предполагает его название, означающее, что ваша подкачка не будет очень эффективной.Если вы хотите реализовать эффективную подкачку страниц, в идеале на уровне базы данных, вам следует использовать после перегрузки , которая позволяет передавать индекс текущей страницы и нужный размер страницы:

internal IEnumerable<MembershipUser> GetUsers(
    int pageIndex, 
    int pageSize, 
    out int totalRecords
) 
{
    return Membership
        .GetAllUsers(pageIndex, pageSize, out totalRecords)
        .Cast<MembershipUser>();
}

Метод возвращает общее количество записей, чтобы впоследствии можно было правильно реализовать разбиение на страницы на уровне пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...