두 멤버 자격 공급자를 사용하고 있습니다. 다음 문장을 선언 할 때ASP.NET 두 공급자가있는 회원은 GetAllUsers 메서드를 사용할 수 없습니다.
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers
그런 다음이 오류 메시지가 나타납니다.
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers(1, 50, 100)
내가 대가로 아무것도 얻지 않는다 :
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'
그 후, 나는이 같은 요구 것을 추가했다. 나는 그것을 디버깅했고 allUsers = 아무것도 없었다.
위의 선언에 무엇이 잘못 되었습니까?
Membership.Providers ("MembershipRoleManager")를 호출 할 때 정말로 paramenters를 제공해야합니까? GetAllUsers? 나는를 provied 경우
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 allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers(0, 0, totalUser)
나는이 오류 메시지를 받았습니다 : 나는 아래 문을 사용하는 경우
업데이트 1
pageSize 매개 변수 :
Dim pageSize As Integer = GetTotalNumberOfUser()
Dim allUsers As MembershipUserCollection = Membership.Providers("MembershipRoleManager").GetAllUsers(0, pageSize, totalUser)
DimSize As Integer = GetTotalNumberOfUser()는 총 계산 된 레코드를 반환하며, pageSize 매개 변수 값을 제공해야하므로 전체 사용자 수를 얻기 위해 이미 데이터베이스로 왕복되었습니다.
입력 해 주셔서 감사합니다. 위 질문에서 업데이트 1을 참조하십시오. –
@Bayonian, 네, 죄송합니다. 내 머리 꼭대기에서 그 답을 입력하십시오. 당신은 페이지 크기를 제공하고 당신이 db에서 패스를 만들기 위해 필요한 카운트를 얻을 필요가있다. 싸구려 카운트를 얻으려면 GetAllUsers (0,1, totalRecords)를 호출하십시오. 비용이 오르는 한, 이와 같은 작업은 각 페이지 수명주기의 일부가 아니어야하므로 비용을 견딜 수 있어야합니다. –