0

WCFサービスを介してサーバー側のページングを実行しようとしています。私のコードは50レコードしか取得して表示しませんが、合計は57レコードであり、2ページ目にページを移動して表示することができません。これは私のサービスコードです:

<OperationContract()>
    Public Function QueryUsersForGroup(
        ByVal authentication As AuthenticationArgs,
        ByVal group As Guid,
        ByVal skip As Integer,
        ByVal take As Integer) As ResponseArgs(Of User())

        Dim exception As ExceptionArgs = Nothing

        If AuthenticationService.CheckPermissions(
            authentication,
            exception,
            PermissionType.AdministerUserAccounts) Then

            Dim model As CscModel = DataHelper.CreateModel()
            Dim currentGroup = model.Groups.FirstOrDefault(Function(row) row.Id.Equals(group))
            If currentGroup Is Nothing Then Return New ResponseArgs(Of User())(New User() {})

            ' This only returns 50 records since take is 50 from my callback
            Return New ResponseArgs(Of User())(currentGroup.Users.Ship(skip).Take(take).ToArray())

        Else

            Return New ResponseArgs(Of User())(exception)

        End If

    End Function

レコードの総数と、一度に表示される50レコードのみを渡すにはどうすればよいですか?

4

1 に答える 1

0

レコードの総数を渡す方法を見つけました。2番目のパラメータを追加しました

ResponseArgs(of User())(curretGroup.Users.Skip(skip).Take(take).ToArray(), totalCount)

そしてそれはうまくいきました!もちろん、2つのパラメーターも許可するようにResponseArgsクラスを変更する必要がありました。

于 2013-03-07T16:33:31.733 に答える