0
我已經寫了下面的代碼如何控制分頁中的頁碼?
public void UpdatePageLables(int aPageCount)
{
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++)
{
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());
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
}
線和ASCX文件
<div class="pagination">
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" OnClick="imgPre_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="LinkButton2" runat="server" CausesValidation="false" OnClick="imgnext_Click"
data-rel="tooltip" data-original-title="next page."> »
</asp:LinkButton>
<div class="page-size"><span>Page Size: </span>
<asp:DropDownList runat="server" ID="lstPageSize" AutoPostBack="true" style="float:right"
OnSelectedIndexChanged="lstPageSize_SelectedIndexChanged">
<asp:ListItem Text="5" Value="5"></asp:ListItem>
<asp:ListItem Text="10" Value="10"></asp:ListItem>
<asp:ListItem Text="15" Value="15" Selected="True"></asp:ListItem>
<asp:ListItem Text="25" Value="25" ></asp:ListItem>
<asp:ListItem Text="50" Value="50"></asp:ListItem>
<asp:ListItem Text="75" Value="75"></asp:ListItem>
<asp:ListItem Text="100" Value="100"></asp:ListItem>
<asp:ListItem Text="150" Value="150"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
現在我想只顯示前七個號鏈接時,就會有百個鏈接數和頁面的其餘部分數字鏈接不應顯示。 當用戶點擊...按鈕時,應該顯示從8到14的頁碼,並且應該隱藏1到7,等等。 請幫助我!
但是這段代碼沒有隱藏其餘的數字。 – Nida
它不會隱藏其餘的數字。它根本不會將它們添加到列表中,因此不需要隱藏。頁面列表將只是您想要查看的數字。 – Dacker