Vb.net 如何从Silverlight 5中的WCF服务获取服务器端分页的总记录数?

Vb.net 如何从Silverlight 5中的WCF服务获取服务器端分页的总记录数?,vb.net,wcf,silverlight-5.0,Vb.net,Wcf,Silverlight 5.0,我正在尝试通过我的WCF服务进行服务器端分页。我的代码只获取50条记录并显示它们,但总共有57条记录,我无法翻页到第二页查看它们。这是我的服务代码: <OperationContract()> Public Function QueryUsersForGroup( ByVal authentication As AuthenticationArgs, ByVal group As Guid, ByVal skip As Inte

我正在尝试通过我的WCF服务进行服务器端分页。我的代码只获取50条记录并显示它们,但总共有57条记录,我无法翻页到第二页查看它们。这是我的服务代码:

<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

公共函数QueryUsersForGroup(
作为AuthenticationArgs的ByVal身份验证,
ByVal组作为Guid,
ByVal跳过为整数,
ByVal作为整数)作为(用户()的)响应项
Dim exception As ExceptionArgs=无
如果AuthenticationService.CheckPermissions(
认证,
例外情况,
PermissionType.AdministerUserAccounts)然后
作为CscModel=DataHelper.CreateModel()的Dim模型
Dim currentGroup=model.Groups.FirstOrDefault(函数(行)行.Id.Equals(组))
如果currentGroup为Nothing,则返回(用户()的)新响应项(新用户(){})
'这只返回50条记录,因为take是我回调中的50条记录
返回(用户()的)新响应项(currentGroup.Users.Ship(skip).Take(Take.ToArray())
其他的
返回(用户()的)新响应项(异常)
如果结束
端函数

我如何才能通过记录的总数,以及一次仅显示50条记录

我想出了如何传递我的记录总数。我刚刚在我的数据库中添加了第二个参数

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

成功了!当然,我必须修改我的ResponseArgs类以允许2个参数。

太糟糕了,这是VB。。。有什么问题?第二页应该跳过50页(页宽*(页码-1))取50页(页宽)?@EdmundYeung99问题是没有传递项目总数,只有前50个项目和下一页箭头从未激活,无法转到下7个项目。在C#中你会怎么做?很抱歉我没能帮上忙,但我知道你已经知道怎么做了。我想下一次,你可以提供更多关于“ResponseArgs”是什么的信息