C#分页随笔

存储过程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() });
}
}

 

posted on 2017-02-07 17:47  Vkin  阅读(113)  评论(0)    收藏  举报

导航