Я написал код, какПроблема в пользовательской пагинации
protected void lnkprev_Click(object sender, EventArgs e)
{
List<ListItem> pages = new List<ListItem>();
int pagecount = Convert.ToInt32(Session["pagecount"].ToString());
int lastnumber = Convert.ToInt32(Session["lastnumber"].ToString());
int prevtennumber = lastnumber - 10;
for (int i=prevtennumber ; i <= pagecount; i++)
{
if (i < prevtennumber)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != PageIndex));
if (i == 1)
{
lnkprev.Visible = false;
}
}
Session["lastnumber"] = prevtennumber;
Session["pagecount"] = pagecount;
rptPager.DataSource = pages;
rptPager.DataBind();
}
}
protected void lnknext_Click(object sender, EventArgs e)
{
List<ListItem> pages = new List<ListItem>();
int pagecount = Convert.ToInt32(Session["pagecount"].ToString());
int lastnumber = Convert.ToInt32(Session["lastnumber"].ToString());
int nexttennumber = lastnumber + 10;
for (int i = lastnumber; i <= pagecount; i++)
{
if (i < nexttennumber)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != PageIndex));
if (i == pagecount)
{
lnknext.Visible = false;
}
}
Session["lastnumber"] = nexttennumber;
Session["pagecount"] = pagecount;
rptPager.DataSource = pages;
rptPager.DataBind();
}
}
Я заселение ретранслятора с номером страницы, которая используется для нумерации страниц в виде сетки. На самом деле, сначала я должен показать первые десять номеров. когда пользователь нажимает на следующую кнопку, номера страниц должны начинаться с 10 до 20 и так далее. Теперь следующая кнопка работает нормально. Кнопка prev работает неправильно. Пожалуйста, помогите !!!
это плохой дизайн для создания подкачки - вы сохраняете на сессии следующую страницу, номер страницы и все такое? вы даже думаете, что пользователь может открыть более одной страницы одновременно. – Aristos
да, вы правы !!! я храню их в кукисах – Nida
Печенье хуже, и то же самое, что и сеанс - вы сохраняете его на URL-адресе с параметрами – Aristos