C# 分页代码问题
我已经编写了以下几行代码,用于在asp.net中使用repeater控件进行AcconPlishing分页C# 分页代码问题,c#,asp.net,c#-4.0,pagination,C#,Asp.net,C# 4.0,Pagination,我已经编写了以下几行代码,用于在asp.net中使用repeater控件进行AcconPlishing分页 <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" OnClick="pagenexte_Click" data-rel="tooltip" data-original-title="previous page.">«</asp:LinkButto
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" OnClick="pagenexte_Click"
data-rel="tooltip" data-original-title="previous page.">«</asp:LinkButton>
<asp:Repeater ID="rptPager" OnItemDataBound="rptPager_ItemDataBound" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lnkPage" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>' Enabled='<%# Eval("Enabled") %>' OnClick="Page_Changed"></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="false" OnClick="pagenext_Click"
data-rel="tooltip" data-original-title="next page.">»
</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="false" OnClick="imgnext_Click"
data-rel="tooltip" data-original-title="next page." Visible="false"> »
</asp:LinkButton>
«;
&拉阔;
&拉阔;
在cs文件中作为
public void UpdatePageLables(int aPageCount)
{
if (!Page.IsPostBack)
{
Session["pages"] = null;
}
PageCount = (int)Math.Ceiling((decimal)aPageCount / PageSize);
int recordCount = PageCount;
if (PageSizeChanged != null)
{
HiddenField hd = new HiddenField();
int current;
current = PageIndex;
int pre;
int Next;
double dblPageCount = (double)((decimal)recordCount / decimal.Parse(lstPageSize.SelectedValue));
int pageCount = PageCount;
List<ListItem> pages = new List<ListItem>();
if (pageCount > 0)
{
// pages.Add(new ListItem("First", "1", PageIndex > 1));
current = PageIndex;
pre = --PageIndex;
PageIndex = current;
// pages.Add(new ListItem("Previous", pre.ToString(), PageIndex > 1));
for (int i = 1; i <= aPageCount; i++)
{
if (i <= 5)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != PageIndex));
}
}
int currentPage = PageIndex;
Next = ++PageIndex;
PageIndex = currentPage;
//pages.Add(new ListItem("Next", Next.ToString(), PageIndex < pageCount));
// pages.Add(new ListItem("Last", pageCount.ToString(), PageIndex < pageCount));
hd.Value = (pre.ToString());
}
if (Session["pages"] != null)
{
rptPager.DataSource = Session["pages"];
rptPager.DataBind();
}
else
{
rptPager.DataSource = pages;
rptPager.DataBind();
}
Session["lastnumber"] = 5;
Session["pagecount"] = aPageCount;
Session["orignalpages"] = pages;
}
}
protected void pagenext_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());
if (lastnumber > pagecount)
{
Session["lastnumber"] = 1;
lastnumber = 1;
Session["pagecount"] = pagecount;
Session["orignalpages"] = pages;
}
int limit = lastnumber + 5;
for (int i = lastnumber; i <= pagecount; i++)
{
if (i <= limit)
{
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();
}
protected void pagenexte_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());
if (lastnumber > pagecount)
{
Session["lastnumber"] = pagecount - 5;
lastnumber = pagecount - 5;
Session["pagecount"] = pagecount;
Session["orignalpages"] = pages;
}
else
{
Session["lastnumber"] = 1;
lastnumber = 1;
Session["pagecount"] = pagecount;
Session["orignalpages"] = pages;
}
int limit = lastnumber + 5;
for (int i = lastnumber; i <= pagecount; i++)
{
if (i <= limit && i>0)
{
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();
}
public void UpdatePageLables(int-aPageCount)
{
如果(!Page.IsPostBack)
{
会话[“页面”]=null;
}
PageCount=(int)数学上限((十进制)aPageCount/PageSize);
int recordCount=PageCount;
如果(PageSizeChanged!=null)
{
HiddenField hd=新的HiddenField();
电流;
当前=页面索引;
int pre;
int-Next;
double dblPageCount=(double)((decimal)recordCount/decimal.Parse(lstPageSize.SelectedValue));
int pageCount=pageCount;
列表页=新列表();
如果(页面计数>0)
{
//添加(新列表项(“第一”,“1”,页面索引>1));
当前=页面索引;
pre=--页面索引;
页面索引=当前;
//添加(新的列表项(“以前的”,pre.ToString(),PageIndex>1));
对于(int i=1;i您可以使用“DataTable”javascript功能解决此问题。请参阅
在这里,您只需要在下面的代码中给出您的表Id
$(document).ready(function(){
$('#myTable').DataTable();
});