Я использую событие ниже для добавления чисел на страницы элементов списка
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 limit = lastnumber - 5;
for (int i = limit; i <= pagecount; i++)
{
if (i < lastnumber && i > 1)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != PageIndex));
}
else
{
rptPager.DataSource = Session["orignalpages"];
rptPager.DataBind();
}
}
Session["lastnumber"] = limit;
Session["pagecount"] = pagecount;
Session["pages"] = pages;
rptPager.DataSource = pages;
rptPager.DataBind();
}
Это работает так, как если бы последнее число было 45, тогда оно генерирует 40 41 42 43 44 45. Теперь проблема, если последнее число содержит 6 или <5 или даже отрицательные числа, он должен связать повторитель с Session ["orignalpages"]; который содержит 1 2 3 4 5 ... Приведенный выше код не работает. Он добавляет отрицательные числа к элементам списка. Пожалуйста, помогите мне !!!
2 ответа
Привет, возможно, я неправильно понимаю твой вопрос, но ты сказал как if last number contains 6 or < 5 or even negative numbers, it should bind repeater with Session["orignalpages"];
Тогда не должна ваша логика быть такой: -
if (lastnumber <= 6)
{
for (int i = limit; i <= pagecount; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != PageIndex));
}
}
else
{
rptPager.DataSource = Session["orignalpages"];
rptPager.DataBind();
}
Ваш предел ниже 1, поэтому вам пришлось явно установить его на 1.
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 limit = lastnumber - 5;
//////////////////////////////////////////////////////
if (limit < 1) limit = 1; //set the limit explicit to 1
//////////////////////////////////////////////////////
for (int i = limit; i <= pagecount; i++)
{
if (i < lastnumber && i > 1)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != PageIndex));
}
else
{
rptPager.DataSource = Session["orignalpages"];
rptPager.DataBind();
}
}
Session["lastnumber"] = limit;
Session["pagecount"] = pagecount;
Session["pages"] = pages;
rptPager.DataSource = pages;
rptPager.DataBind();
}
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.