Я использую двух провайдеров членства. Когда я объявил следующее утверждение
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers
Затем он дал мне это сообщение об ошибке.
Argument not specified for paramenter 'totalRecords' of 'Public MustOverride Function GetAllUsers(pageIndex as Integer, pageSize as Integer, ByRef totalRecords as Integer) As System.Web.Security.MembershipUserCollection'
Затем я добавил то, о чем он просил, вот так:
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers(1, 50, 100)
Я ничего не получу взамен. Я его отладил и allUsers = ничего.
Что плохого в декларации выше?
Действительно ли мне нужно указывать параметры при вызове Membership.Providers ("MembershipRoleManager"). GetAllUsers?
Обновление 1
Если, я использовал следующее утверждение:
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers(0, 0, totalUser)
Я получил это сообщение об ошибке:
The pageSize must be greater than zero.
Parameter name: pageSize.
[ArgumentException: The pageSize must be greater than zero.
Parameter name: pageSize]
System.Web.Security.SqlMembershipProvider.GetAllUsers(Int32 pageIndex, Int32 pageSize, Int32& totalRecords) +1848357
Но это работает, если я предоставил параметр размера страницы:
Dim pageSize As Integer = GetTotalNumberOfUser()
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers(0, pageSize, totalUser)
Этот параметр Dim pageSize As Integer = GetTotalNumberOfUser () возвращает итоговую подсчитанную запись, это уже круговая поездка в базу данных, просто для получения общего числа пользователей, поскольку мне нужно предоставить значение параметра pageSize.