我有一个产品列表,并希望将它们发送到每个页面刷新时逐部分查看,每页5次。当显示了所有部件后,请在下一次刷新的列表开始时重新开始。如果产品列表数不是5的红利,例如,count = 23,则返回到第一位。即采取15-20,然后20-2 (21,22,23,1和2)。然后,3-8继续。
我不能将分页规则用作:
ViewBag.Result = db.Products.Skip( ( pageNo - 1 ) * 5).Take( 5 ).ToList();因为,我会把这5个产品从所有的行动,以查看和更新在每个刷新网站。
我有一个想法,采取随机索引和启动,但我需要知道最后一个发送索引,并在每次刷新,发送到控制器的当前行动。我怎样才能做到这一点?
发布于 2012-09-11 16:14:21
您需要在HTTP调用之间保留最后一个发送索引。因为HTTP是无状态的,所以您需要一个媒体来保持它的介于两者之间。您可以使用会话变量对此进行处理。
Session["LastIndexSent"]= 5;
return View(someITemList);此外,试图避免在ViewBag中发送这样的结果。使用ViewBag/ViewData这样的动态工具在控制器和视图之间传输数据可以使您的代码ugly.Use强类型化。
List<Product> productList=GetProductListFromSomeWhere();
return View(productList);在你强类型的观点中,
@model List<Product>
@foreach(var prod in Model)
{
<p>@prod.Name</p>
}https://stackoverflow.com/questions/12373879
复制相似问题