Vb.net 如何从Silverlight 5中的WCF服务获取服务器端分页的总记录数?
我正在尝试通过我的WCF服务进行服务器端分页。我的代码只获取50条记录并显示它们,但总共有57条记录,我无法翻页到第二页查看它们。这是我的服务代码: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
<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”是什么的信息