Click here to Skip to main content
15,884,388 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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.NET
<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>

C#
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;
        }
    }
Posted
Comments
Sunasara Imdadhusen 13-May-14 8:41am    
Have you searched on Google?
Raj Negi 13-May-14 9:01am    
yes, but not found any effective answer.

.CS
C#
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
ASP.NET
<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>
 
Share this answer
 
Comments
Raj Negi 13-May-14 9:18am    
not able to understand, can you plz edit in my code.
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());
                }

add fuction:
protected bool CurrentPageHighlight(int currPage)
{
return currPage == PageNumber ? true : false;
}
 
Share this answer
 
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900