如何限制Enumerable.Range仅使用最后一个索引的计数,并且不超过该范围?-Asp.net

每次我将其用作转发器的数据源时,最终它将显示页号,这些页号在我为gridview所做的分页中没有索引。你们是否有想法根据gridview.pagecount限制此enumerable.range?我只想为每个索引单击显示10个页码。所以这是代码


protected void Repeater_Load(object sender, EventArgs e)

{

    Repeater Repeater = (Repeater)sender;

    Repeater.DataSource = Enumerable.Range(GridView1.PageIndex + 1, 10);

    Repeater.DataBind();

}

我的Gridview总共有21个页数,但是我想在每次单击数字时显示10个页码。


例如在这里,我单击2,它将显示2,3,4,5,6,7,8,9,10,11或2-11,如果您在gridview中确实有10页计数,则此方法有效如果我没有10页数怎么办?如果我有3个页面计数,然后将10个放在enumerable.range中怎么办?


这就是我目前面临的问题,希望大家帮助我解决当前面临的困境。


并且如果我单击了21(这是最后一个页面计数),它将显示21-30,它不再位于gridview1.pageindex中。


holdtom
浏览 149回答 2
2回答

胡说叔叔

.Range 需要两个参数:起始编号和要采用的元素数量。如果我理解正确,并且希望将页面分成10个批次,则可以动态计算这些值-int currentPage = GridView1.PageIndex;int batchSize = new[] { GridView1.PageCount - currentPage, 10 }.Min();Repeater.DataSource = Enumerable.Range(currentPage, batchSize);
打开App,查看更多内容
随时随地看视频慕课网APP