在转发器分页中突出显示当前页面 [英] Highlight the current page in repeater paging
本文介绍了在转发器分页中突出显示当前页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在转发器中应用分页,它工作正常,我想突出显示用户选择的当前页面。我有两个转发器用于结果,第二个用于分页功能。
I am applying paging in repeater and it is working fine, i want to highlight the current page selected by user. I have two repeater one for results and second for paging functionality.
<asp:Repeater ID="rptPaging" runat="server" onitemcommand="rptPaging_ItemCommand">
<ItemTemplate>
<asp:LinkButton ID="btnPage" style="padding:8px; margin:2px; background:#911216; border:solid 1px black; font:8pt tahoma;" CommandName="Page" CommandArgument="<%# Container.DataItem %>"
runat="server" ForeColor="White" Font-Bold="True"><%# Container.DataItem %>
</asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
protected void rptPaging_ItemCommand(object source, RepeaterCommandEventArgs e)
{
PageNumber = Convert.ToInt32(e.CommandArgument) - 1;
BindRepeaterData();
}
public int PageNumber
{
get
{
if (ViewState["PageNumber"] != null)
return Convert.ToInt32(ViewState["PageNumber"]);
else
return 0;
}
set
{
ViewState["PageNumber"] = value;
}
}
推荐答案
.CS
.CS
protected void RepeaterItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = (RepeaterItem)e.Item;
SiteMapNode node = (SiteMapNode)item.DataItem;
HyperLink hl = (HyperLink)e.Item.FindControl("HyperLink1");
hl.ImageUrl = node["ImageUrl"];
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
(e.Item.FindControl("HyperLink1") as HyperLink).ForeColor = System.Drawing.Color.Red;
}
.APSX
.APSX
<asp:repeater id="LevelOne" datasourceid="SiteMapDataSource1" onitemdatabound="RepeaterItemDataBound" enableviewstate="false" runat="server" xmlns:asp="#unknown">
<itemtemplate>
<li id="l1" runat="server"><asp:hyperlink id="HyperLink1" runat="server" navigateurl="<%#Eval("url") %>" text="<%#Eval("Title") %>" imageurl="<%#Eval("[ImageUrl]")%>" width="15" height="15"></asp:hyperlink>
<ul>
<asp:repeater id="LevelTwo" datasource="<%#((SiteMapNode) Container.DataItem).ChildNodes %>" onitemdatabound="RepeaterItemDataBound" runat="server">
<itemtemplate>
<li><asp:hyperlink id="HyperLink2" runat="server" navigateurl="<%#Eval("url") %>" text="<%#Eval("Title") %>" imageurl="<%#Eval("[ImageUrl]")%>" width="15" height="15" forecolor="Gray"></asp:hyperlink></li>
</itemtemplate>
</asp:repeater>
</ul>
</li>
</itemtemplate>
</asp:repeater>
在绑定转发器数据中:
In bind repeater data:
for (int i = 0; i < pgitems.PageCount; i++)
if (i == PageNumber)
{
pages.Add("<strong>" + (i + 1).ToString() + "</strong>");
}
else
{
pages.Add((i + 1).ToString());
}
添加功能:
protected bool CurrentPageHighlight(int currPage)
{
返回currPage == PageNumber? true:false;
}
add fuction:
protected bool CurrentPageHighlight(int currPage)
{
return currPage == PageNumber ? true : false;
}
这篇关于在转发器分页中突出显示当前页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文