存储过程Repository那里需要定义一个引用数组个数的count
ref int count
然后定义count=0;
执行存储过程
下面判断一个有几个,依靠存储过程得到的RowCount去得到
代码如下
if(list.Count >0)
{
count=list.First().RowCount; //这里是一共有多少条记录
}
然后可以retuen list
现在贴上存储过程
SELECT * FROM(
SELECT
a.[Models],
a.[Name],
a.[Sex],
a.[Mobile],
a.[Area],
a.[CreateTime],
ROW_NUMBER() OVER (ORDER BY a.[CreateTime] DESC) AS rank,
Count(0) over() [RowCount]
FROM [dbo].[DriverInfo] a
WHERE
( a.[Name] like ‘%‘ +@keyword or a.[Name] like @keyword+‘%‘ or a.[Name] like ‘%‘+@keyword+‘%‘or a.[Name] like @keyword
or a.[Mobile] like ‘%‘ +@keyword or a.[Mobile] like @keyword+‘%‘ or a.[Mobile] like ‘%‘+@keyword+‘%‘or a.[Mobile] like @keyword
)
and (@Models=‘全部‘or a.Models=@Models)
and (@Area=‘全部‘ or a.Area=@Area)
)as t WHERE t.rank BETWEEN (@pageindex-1)*@pagesize+1 AND @pageindex*@pagesize
这样就可以了
然后是后台的代码
int count=0;
然后在执行RepositoryBase 的时候 声明下ref count就可以了
记得return count=count
贴上代码
#region 英菲尼迪试驾索引
public JsonResult InfoManagementJson(int pageIndex, int pageSize, string Models="全部",string Area="全部", string keyword = "")
{
int count = 0;
try
{
var data = RepositoryBase.infiniti.GetInfotList(ref count, pageIndex, pageSize, Models, Area, keyword);
return Json(new { count = count, data = data });
}
catch (Exception e)
{
return Json(new { success = false, data = e.Message.ToString() });
}
}
原文:http://www.cnblogs.com/geekvkin/p/6375270.html